C++ 中的纯虚函数和抽象类


纯虚函数是 C++ 中的虚函数,我们无需编写任何函数定义,只需声明它即可。它通过在声明中分配 0 来声明。

抽象类 是 C++ 中至少有一个纯虚函数的类。

  • 抽象类可以具有正常函数和变量以及纯虚函数。

  • 不能实例化抽象类,但可以创建抽象类类型指针和引用。

  • 抽象类主要用于向上转型,以便其派生类可以使用其接口。

  • 如果抽象类有派生类,它们必须实现所有纯虚函数,否则它们也将变成抽象的。

  • 我们不能创建抽象类的对象,因为我们在 Vtable 中保留了纯虚函数的槽,但我们没有放入任何地址,因此 Vtable 将保持不完整。

示例代码

 实时演示

#include<iostream>
using namespace std;
class B {
   public:
      virtual void s() = 0; // Pure Virtual Function
};

class D:public B {
   public:
      void s() {
         cout << "Virtual Function in Derived class\n";
      }
};

int main() {
   B *b;
   D dobj;
   b = &dobj;
   b->s();
}

输出

Virtual Function in Derived class

更新于: 2023-10-07

23K+ 浏览次数

开启你的职业

完成课程以获得认证

立即开始
广告