⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 18-3.txt

📁 《C/C++完美演绎》源代码
💻 TXT
字号:
/* 范例: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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -