派生类的调用顺序

#include <iostream>

using namespace std;

class Base						// 定义基类
{
public:
	Base();						// 基类 的 默认构造函数
	virtual void f();			// 虚成员函数
};
Base::Base()					// 基类 的 构造函数
{
	cout << "构造 Base 对象\n";
	f();
}
void Base::f()					//定义 Base 类的 f() 函数
{
	cout << "调用了 Called Base::f()\n";	//输出提示信息
}
class Derived : public Base		//定义派生自 Base 的派生类
{
public:
	Derived();					// 派生类 的 默认构造函数
	void f();					// 实现派生类的虚函数
};
Derived::Derived()
{
	cout << "构造派生对象\n";
}
void Derived::f()				// 定义Derived类的f()函数
{
	cout << "调用Derived::f()\n";
}
void main()
{
	Derived d;					// 定义派生类 Derived 的变量 d
	cout << "-------------------" << "\n";
	Base b;
	cout << "-------------------" << "\n";
	d.f();
	cout << "-------------------" << "\n";
	//b.f();
	system("pause");
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38233824/article/details/84937284
今日推荐