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

📄 demo_3_multiple_inheritance_constructor_destrctor_1.cpp

📁 对于一个初涉VC++的人来书
💻 CPP
字号:

//**********************************************
// 多继承的构造函数和析构函数
//**********************************************

#include<iostream.h>

class Base1 //基类
{
	int b1;
public:	
	Base1(int i=0):b1(i) //构造函数
	{
		cout<<"Constrcuting base1 object.\n";
	}
	void show() { cout<<"b1="<<b1<<endl; }
	~Base1() //析构函数
	{
		cout<<"Destructing base1 object.\n";
	}
};

class Base2 //基类
{
	int b2;
public:	
	Base2(int i=0):b2(i) //构造函数
	{
		cout<<"Constrcuting base2 object.\n";
	}
	void show() { cout<<"b2="<<b2<<endl; }
	~Base2() //析构函数
	{
		cout<<"Destructing base2 object.\n";
	}
};

class Derived: public Base1,public Base2 //公有派生类
{
	int d;
public: 
	Derived(int i=0):Base1(i-10),Base2(i+10),d(i) //构造函数
	{
		cout<<"Constrcuting derived object.\n";
	}
	void show() //继承成员的重定义
	{
		Base1::show();
		Base2::show();
		cout<<"d="<<d<<endl;
	}
	~Derived() //析构函数
	{
		cout<<"Destructing derived object.\n";
	}
};

void main() //主程序仅仅完成对象的构造和析构
{
//	Derived object;	//声明一个派生类的对象
	Derived object(20);	//声明一个派生类的对象

	object.show();
	
	return;
}

/*
Constrcuting base1 object.
Constrcuting base2 object.
Constrcuting derived object.
b1=-10
b2=10
d=0
Destructing derived object.
Destructing base2 object.
Destructing base1 object.
**********************************************
Constrcuting base1 object.
Constrcuting base2 object.
Constrcuting derived object.
b1=10
b2=30
d=20
Destructing derived object.
Destructing base2 object.
Destructing base1 object.
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -