📄 demo_3_multiple_inheritance_constructor_destrctor_1.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 + -