私は簡単なコードを書きます.私の質問は: なぜ item_base は単に constrcut 関数を呼び出すのですか? item_base は「コピー構造関数」を呼び出す必要がありますか?関数を構築する」.違いは何ですか?
class Item_base {
public:
Item_base();
Item_base(int);
Item_base(const Item_base &base);
void operator=(const Item_base &item);
virtual ~Item_base();
};
Item_base::Item_base()
{
cout << "construct function" << endl;
}
Item_base::Item_base(int a)
{
cout << "arg construct function" << endl;
}
Item_base::Item_base(const Item_base &base)
{
cout << "copy function" << endl;
}
void Item_base::operator=(const Item_base &item)
{
cout << "= operator" << endl;
}
Item_base::~Item_base()
{
}
int main()
{
//cout << "Hello world!" << endl;
Item_base item_base = Item_base(1);//construct function
Item_base item_base2 = item_base;//copy construct function
Item_base item_base3;
item_base3 = item_base2;// =operator function
return 0;
}