demo_1_single_inheritance_constructor_destrctor_1.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 76 行

CPP
76
字号

//**************************************************
// 单继承单级派生类的构造函数和析构函数的调用次序
//**************************************************

#include <iostream.h>

class Base //声明基类
{
public: 
	Base() 
	{ 
		x1=0;
		cout<<"Base Constructor 1\n"; 
	}
	Base(int i) 
	{ 
		x1=i;
		cout<<"Base Constructor 2\n"; 
	}
	void show_Base()
	{
		cout<<"x1="<<x1<<endl;
	}
	~Base() { cout<<"Base Destructor\n"; } 
protected: 
	int x1;
};

class Derived: public Base  //声明派生类
{
public: 
	Derived() 
	{ 
		x2=0;
		cout<<"Derived Constructor 1\n"; 
	}
	Derived(int i):Base(i+10)
	{ 
		x2=i;
		cout<<"Derived Constructor 2\n"; 
	}
	void show_Derived()
	{
		show_Base();
		cout<<"x2="<<x2<<endl;
	}
	~Derived() { cout<<"Derived Destructor\n"; } 
protected: 
	int x2;
};
 
int main( )
{
	Derived object1,object2(2);

	object1.show_Derived();
	object2.show_Derived();
	
	return 0;
}

/*
Base Constructor 1
Derived Constructor 1
Base Constructor 2
Derived Constructor 2
x1=0
x2=0
x1=12
x2=2
Derived Destructor
Base Destructor
Derived Destructor
Base Destructor
*/

⌨️ 快捷键说明

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