#include <iostream>
using namespace std;
/* 抽象基类:不能被实例化的基类。 它仅仅只有一个用途,用来派生出其他类。
* 1. 要定义抽象基类,可使用纯虚函数,纯虚函数可当做接口使用
* 2. 基类的纯虚函数,在派生类中必须实现。 虚函数可以不用必须实现
*/
/*定义抽象基类*/
class BaseClass {
public:
//虚函数=0,这个形式为纯虚函数, 告诉编译器,必须在派生类中进行实现
virtual void debugFun() = 0; //可看成派生类的接口,调用此接口时,调用相应派生类的方法
};
/*实例化对象时,将创建两个对象,子对象和基类对象,通过从调用的构造函数可以看出*/
class SonClass : public BaseClass {
public:
void debugFun() { cout << "this is SonClass" << endl; } //若不实现此函数,编译将会出错
SonClass() { cout << "SonClass constructor" << endl; }
~SonClass() { cout << "~SonClass deconstructor" << endl; }
};
class Son2Class :
第三十五节 C++ 抽象基类和纯虚函数
最新推荐文章于 2024-07-01 17:23:29 发布