18-3.txt
来自「c和c++完美演绎,里面有编程的方法,对编程技术的提高有很大的帮助」· 文本 代码 · 共 55 行
TXT
55 行
/* 范例:18-3 */
#include <iostream.h>
class A
{
public:
A(){ cout <<"class A的构造式" <<endl; }
~A(){ cout <<"class A的析构式" <<endl; }
};
class B:virtual public A
{
public:
B(){ cout <<"class B的构造式" <<endl; }
~B(){ cout <<"class B的析构式" <<endl; }
};
class C
{
public:
C(){ cout <<"class C的构造式" <<endl; }
~C(){ cout <<"class C的析构式" <<endl; }
};
class D:virtual public A
{
public:
D(){ cout <<"class D的构造式" <<endl; }
~D(){ cout <<"class D的析构式" <<endl; }
};
class E:public C,public B,virtual public D
{
public:
E(){ cout <<"class E的构造式" <<endl; }
~E(){ cout <<"class E的析构式" <<endl; }
};
void main(void)
{
E* obj_e=new E; /* 以虚拟的方式继承会比一般方式继承较早调用构造式,
一般方式继承以继承顺序来排列 */
cout <<"===============" <<endl;
delete obj_e;
getchar();
}
程序执行结果:
class A的构造式
class D的构造式
class C的构造式
class B的构造式
class E的构造式
===============
class E的析构式
class B的析构式
class C的析构式
class D的析构式
class A的析构式
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?