抽象类是带有纯虚函数的类。
纯虚函数在基类中定义,它没有定义任何具体操作,声明格式为 virtual 返回类型 函数名(参数) = 0。
对于暂时无法实现的函数可以定义为纯虚函数,留给派生类实现。
抽象类只能是基类,抽象类不能定义对象。
示例代码:
#include <iostream>
using namespace std;
class Base1 {
public:
virtual void display() const = 0; //纯虚函数
};
class Base2 : public Base1 {
public:
virtual void display() const;
};
void Base2::display() const {
cout << "Base2's display" << endl;
}
class Derived : public Base2 {
public:
virtual void display() const;
};
void Derived::display() const {
cout << "Derived's display" << endl;
}
void fun (Base1 *ptr) {
ptr->display();
}
int main() {
Base2 b2;
Derived d;
fun(&b2);
fun(&d);
return 0;
}
运行结果: