在下面四种情况下,编译器会为类合成nontrivial的copy constructor:
case 1:类含有member class object(该object含有copy constructor);
case 2:类有base class(该base class含有copy constructor);
case 3:类含有virtual functions(在derived class赋给base class时需要重新设置vptr);
case 4:类的继承串中有virtual base class(需要确定virtual base class的确切偏移位置)。