拷贝构造函数,构造函数

来源:互联网 发布:网络巫师中文字幕6 编辑:程序博客网 时间:2024/05/01 05:52

当基类中“显示定义了拷贝构造函数和赋值操作符时
当派生类中“显示定义了拷贝构造函数和赋值操作符时
如果派生类中的拷贝和赋值构造函数中没有“显示指定基类的拷贝和赋值构造函数”,即:派生类只是把自己的成员进行了赋值


这时需要手动调用基类的拷贝构造函数和赋值构造函数才行,基类的构造函数会自动调用的

#include <iostream>using namespace std;class A{public:A(){}A(A&){cout<<"A copy constructor"<<endl;}};class B:public A{public:B(){}B(B&b){//A::A(b);注意这句加上和不加时输出的区别cout<<"B copy constructor"<<endl;}};int main(){B b;B c=b;}

派生类构造函数的任务应该包括3个部分:

(1) 对基类数据成员初始化;

(2) 对子对象数据成员初始化;

(3) 对派生类数据成员初始化。



0 0
原创粉丝点击