2
# include <iostream>
using namespace std;
class Abc
{
public:
int a;
Abc()
{
cout<<"def cstr\n";
a=10;
}
Abc(const Abc &source)
{
a=source.a;
cout<<"copy constructor is called"<<endl;
}
};
int main()
{
Abc kk = Abc();
cout<<kk.a<<endl;
return 0;
}
上記のプログラムでは、私の出力があります。def CSTR
ここでは、コピーコンストラクタは、デフォルトのコンストラクタの後に呼び出されると予想されていましたが、これは起こっていません。
ここで何が起こっているのか教えてください。それはAbc()が一時オブジェクトを作成しているからですか?
私が間違っている場合は、私に修正してください。
ありがとうございます!あなたのコピーコンストラクタはokです