Copy Constructor

一,Copy Constructor

就像default constructor一样,C++ Standard上说,如果class没有声明一个copy constructor,就会隐式的定义一个copy constructor。C++ Standard把copy constructor区分为trivial和nontrivial两种,只有nontrivial才会合成于程序之中。


二,下面的四种情况合成的copy constructornontrivial(有用的)

(1),当一个class内含member object,而后者的class声明有一个copy constructor时。

(2),当class继承自一个base class而后者存在一个copy constructor时。

(3),当class声明一个或多个virtual functions时。

(4),当class派生自一个继承链,其中有一个或多个virtual base class时。


你可能感兴趣的:(Copy Constructor)