呼び出しタイミング | spin on the RITZ

呼び出しタイミング

#include <iostream>
using namespace std;

class Integer
{
private:
    int i;
public:
    Integer(int i=0) { this->i = i; };
    Integer(const Integer& obj) {
        cout << "Copy" << endl;
        i = obj.i;
    }
    Integer& operator=(const Integer& obj) {
        cout << "Substitute" << endl;
        i = obj.i;
        return *this;
    }
};

int main()
{
    cout << "(1)" << endl;
    Integer a(10), b;
    cout << "(2)" << endl;
    b = a;
    cout << "(3)" << endl;
    Integer c = a;
    cout << "(4)" << endl;

    return 0;
}


(1)
(2)
Substitute
(3)
Copy
(4)



当然といえば当然なんですが、main関数の4行目は代入です。

そして、6行目は初期化です。



授業のスライドで間違ってたような気がしたから、一応言っておいたけど、返信されるのはいつになることやら。


代入って英語でsubstituteであってたっけ?