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

纯虚函数是C ++中的虚函数,对于该虚函数,我们无需编写任何函数定义,而仅需对其进行声明。通过在声明中分配0进行声明。

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

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

  • 无法实例化Abstract类,但是可以创建Abstract类类型的指针和引用。

  • 抽象类主要用于Upcasting,以便其派生类可以使用其接口。

  • 如果Abstract类具有派生类,则它们必须实现所有纯虚函数,否则它们也将成为Abstract。

  • 由于我们在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

以上是 C ++中的纯虚函数和抽象类 的全部内容, 来源链接: utcz.com/z/316320.html

回到顶部