首页 > 代码库 > 对象模型(拷贝构造函数2)

对象模型(拷贝构造函数2)

#include <iostream>using namespace std;//关于类不展现按位拷贝语义的几种情况/**  *1.类的成员对象含有默认拷贝函数 *2.继承的基类包含拷贝函数(无论是合成的还是自己定义的) *3.有虚函数,因为虚指针按位拷贝有问题 *4.派生自虚基类 */ class Word{public:    Word(const char*)    {    }    ~Word(){delete [] str;}private:    int cnt;    const char* str;};//对象模型上说这种情况不需要合成一个默认拷贝函数,我查了下primer上说//如果我们没有定义复制构造函数,编译器就会为我们合成一个。与合成的默//认构造函数(第 12.4.3 节)不同,即使我们定义了其他构造函数,也会合成复制构造函数,这个yuint main(){    Word A("123");    Word B =A;    getchar();    return 0;}

 

对象模型(拷贝构造函数2)