标题:构造函数的调用次序
取消只看楼主
norlan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-3
 问题点数:0 回复次数:1 
构造函数的调用次序
为什么结果是CBase1 class
CBase2 class
CDerive2 class

CBase2 cass
CDerive1 class
CTop class
而不是

CBase1 class
CBase2 class
CDerive2 class
CBase1 class
CBase2 cass
CDerive1 class
CTop class



#include<iostream.h>
class CBase1
{
public:
CBase1()
{cout<<"CBase1 class!\n";}
};
class CBase2
{
public:
CBase2(){cout<<"CBase2 class!\n";}
};
class CDerive1:public CBase2,virtual public CBase1
{
public:
CDerive1()
{cout<<"CDerivel class\n";}
};
class CDerive2:public CBase2,virtual public CBase1
{
public:
CDerive2()
{cout<<"CDerive2 class\n";}
};
class CTop:public CDerive1,virtual public CDerive2
{
public:
CTop()
{cout<<"CTop class\n";}
};
void main()
{ CTop topobj; }
搜索更多相关主题的帖子: class 函数 构造 color 
2007-06-26 11:08
norlan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-3
得分:0 
哪位帮我看一下
2007-06-28 12:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-150375-1-1.html




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

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