首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求分析一段代码解决思路

2012-06-11 
求分析一段代码#include iostream.hclass A{public:A(){coutIn A cons.\n}virtual ~A(){coutIn

求分析一段代码
#include <iostream.h>
class A
{
public:
A()
{cout<<"In A cons.\n";}
virtual ~A()
{cout<<"In A des.\n";}
virtual void f1()
{cout<<"In A f1().\n";}
void f2()
{f1();}
};

class B:public A
{
public:
B()
{f1();cout<<"In B cons.\n";}
~B()
{cout<<"In B des.\n";}
};

class C:public B
{
public:
C()
{cout<<"In C cons.\n";}
~C()
{cout<<"In C des.\n";}
void f1()
{cout<<"In C f1().\n";}
};

void main()
{
A *pa=new C;
pa->f2();
delete pa;
}


运行结果
In A cons.
In A f1().
In B cons.
In C cons.
In C f1().
In C des.
In B des.
In A des.



[解决办法]
构造函数是从基类开始的。。所有顺序是 A-》B-》 析构是从子类开始的 所以是c-》B-》A
[解决办法]

探讨

构造函数是从基类开始的。。所有顺序是 A-》B-》 析构是从子类开始的 所以是c-》B-》A

热点排行