关于派生类的复制构造函数的一点小经验

来源:互联网 发布:三星支持网络打印 编辑:程序博客网 时间:2024/06/02 04:11

如果派生类定义了复制构造函数,但没有显式调用基类的复制构造函数,是会隐式调用基类的默认构造函数(注意:不是复制,跟下面不同)。而如果派生类没有定义复制构造函数,只使用默认复制构造函数,则会使用基类的默认复制构造函数(注意:是复制),自己写两个类试下就看到结果了:

class A{public:    A(){printf("A Default\r\n");}    A(A&){printf("A Copy\r\n");}    A & operator=(const A & a){printf("A =\r\n");}}class B:public A{public:    B(){printf("B Default\r\n");}    B(B&){printf("B Copy\r\n");}    B & operator=(const B & b){printf("B =\r\n");}int main(){    B b1;    B b2(b1);    return 0;}


 

原创粉丝点击