派生类copy构造函数

heaven33 2009-05-28 12:35:30
派生类copy构造函数貌似不会自动调用基类的copy构造函数,
请问要调用应该怎么写?
...全文
54 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在派生类copy构造函数的构造函数初始化列表里调用基类的copy构造就是了。
pengzhixi 2009-05-28
  • 打赏
  • 举报
回复
在初始化列表调用基类的copy 构造函数就是了
Jalien 2009-05-28
  • 打赏
  • 举报
回复

class Base{
public:
Base(){
this->i=0;
};
Base(const Base& b){
this->i=b.i;
}
private:
int i;
};

class Derived:public Base{
public:
Derived():Base(){
this->i=0;
}
Derived(const Derived& d):Base(d){//初始化列表调用父类的拷贝构造函数!!!
this->i=d.i;
}
private:
int i;
};

int main(){
Derived d;
Derived c=d;
}

另外拷贝构造函数只有当成员变量涉及指针时才需要我们自己显示定义的,如果没有指针系统合成的就够我们用的了。
lgccaa 2009-05-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hairetz 的回复:]
在派生类copy构造函数的构造函数初始化列表里调用基类的copy构造就是了。
[/Quote]
不会自动调用,就自己手动调用嘛

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧