| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:继承的运行结果
取消只看楼主 加入收藏
jjg
Rank: 2
等 级:论坛游民
帖 子:67
专家分:42
注 册:2009-8-19
结帖率:46.15%
收藏
已结贴  问题点数:20 回复次数:2 
继承的运行结果
继承的运行结果

#include <iostream>
using namespace std;
class data
{
public:
    data(int x)
     {
      data::x=x;
cout<<"data cons."<<endl;
     }

~data(){cout<<"data des."<<endl;}
private:
int x;
};
class base
{
public:
base(int x):d1(x){cout<<"base cons."<<endl;}
~base(){cout<<"base des"<<endl;}
private:
data d1;
};
class derived:public base
{
public:
derived(int x):base(x),d2(x){cout<<"derived cons."<<endl;}
~derived(){cout<<"derived des."<<endl;}
private:
data d2;
};
void main()
{
derived obj(5);
}
结果是这样的:
data cons.//搞不懂怎么会有这行结果
base cons.   
  data cons.
derived cons.
derived des.
data des.
base des.
data des.
我在书上看到这句话:对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行基类的构造函数,在执行子对象的构造函数,最后执行派生类本身的构造函数。我就搞不懂子对象的构造函数指的是什么呢?能不能用上面那个例子解释一下??

[ 本帖最后由 jjg 于 2009-8-26 10:29 编辑 ]
搜索更多相关主题的帖子: 继承 
2009-08-23 16:30
jjg
Rank: 2
等 级:论坛游民
帖 子:67
专家分:42
注 册:2009-8-19
收藏
得分:0 
回复 4楼 blueskiner
子对象的构造函数,基类的构造函数,还有一个派生类本身的构造函数,到底指的是哪一个呢?特别是搞不懂子对象的构造函数..
2009-08-24 20:00
jjg
Rank: 2
等 级:论坛游民
帖 子:67
专家分:42
注 册:2009-8-19
收藏
得分:0 
回复 2楼 rockcjw
是啊,那我再编辑一下
2009-08-26 10:27
快速回复:继承的运行结果
数据加载中...
 
   



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

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