-1

別のオブジェクトのコピーで初期化すると、クラスオブジェクトのコンストラクターが機能しないのはなぜですか?

class Human
{
   int No;
   public:
       Human(int arg):No(arg)
       {
        cout<<"constructor Works"<<endl;
       }
};
int main()
{
    Human a{10}; // constructor Works for object a
    Human b{a};  //why b object's constructor dont work?
}
4

2 に答える 2

8

コピー コンストラクターが必要です。そうしないと、コンパイラーが生成します (何も出力しません)。追加:

Human(const Human& h):No(h.No) { std::cout << "copy-ctor" << std::endl; }
于 2013-10-31T19:43:23.440 に答える