| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 435 人关注过本帖
标题:运行结果
只看楼主 加入收藏
jjg
Rank: 2
等 级:论坛游民
帖 子:67
专家分:42
注 册:2009-8-19
结帖率:46.15%
收藏
已结贴  问题点数:20 回复次数:4 
运行结果
程序代码:
#include <iostream>
using namespace std;
class base
{
public:
base(int i)
{
x=i;
cout<<"constructor of base."<<endl;
}
~base(){cout<<"destructor of base."<<endl;}
viod show(){cout<<"x="<<x<<endl;}
private:
int x;
};
class derived:public base
{

public:
derived(int i):base(i),d(i){cout<<"constructor of derived."<<endl;}
private:
base d;
};
void main()
{
derived obj(5);
obj.show();
}




运行结果:
constructor of base.
constructor of base.//怎么有两遍?不懂
constructor of derived.
x=5
destructor of base.
destructor of base.
搜索更多相关主题的帖子: 运行结果 
2009-08-23 16:55
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:5 
derived(int i):base(i),d(i)等于derived(int i):base(i){...}加derived(int i):d(i){...}

迭代的是人,递归的是神。
2009-08-23 17:11
rockcjw
Rank: 2
等 级:论坛游民
帖 子:28
专家分:32
注 册:2009-8-23
收藏
得分:5 
derived(int i):base(i),d(i){cout<<"constructor of derived."<<endl;}
这句给X赋了两次值 所以会出现两次cons  结果也出现了两次des
2009-08-23 17:53
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:5 
derived(int i):base(i),d(i){cout<<"constructor of derived."<<endl;}
derived(int i):base(i)是子类的构造函数显示调用基类的构造函数,打印一次constructor of base.
d(i) 是derived中的base d进行初始化,所以调用构造函数base(int i) ,又打印一次constructor of base.

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-08-23 18:46
ly861014
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:66
专家分:177
注 册:2008-10-28
收藏
得分:5 
回复 楼主 jjg
4楼正解
2009-08-23 22:15
快速回复:运行结果
数据加载中...
 
   



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

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