| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 523 人关注过本帖
标题:关于派生类的复制构造函数问题,实在想不通
取消只看楼主 加入收藏
骇客不会飞
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-9-6
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
关于派生类的复制构造函数问题,实在想不通
class AAA
{
    private:
         char * label;
         int rating;
    public:
         AAA(const AAA &rs);
        …………
}
AAA::AAA(const AAA & rs)
{
label=new char[strlen(rs.label)+1];
strcpy(label,rs.label);
rating=rs.rating;
}

class BBB:public AAA
{
   private:
         char * color[10];
   public:
   friend std::ostream & operator<<(std::ostream & os,const BBB & rs);  //输出为BBB派生类的三个数据成员,定义懒得写;
  …………   //无派生类的构造函数
}
int main()
{
BBB balloon("red","blimpo",4);     //其中也包含了对AAA基类的数据成员初始化
BBB ballon2(balloon);
cout<<balloon2<<endl;
}
输出结果为balloon的三个值(即red ,blimpo ,4),书上说的是如果没有为派生类显式定义复制构造函数,那么派生类默认使用基类的复制构造函数复制基类的部分,我的问题:按照说法应该是:复制构造函数只复制了label和rating的值,怎么连color值也复制给了balloon2呢?
搜索更多相关主题的帖子: private rating public friend color 
2013-10-02 13:03
骇客不会飞
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-9-6
收藏
得分:0 
回复 3楼 blueskiner
其实那些我都懒得写出来而已
2013-10-02 20:58
快速回复:关于派生类的复制构造函数问题,实在想不通
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017509 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved