虚拟函数与纯虚函数的区别


在本篇文章中,我们将了解虚拟函数和纯虚函数的区别。

虚拟函数

  • 它在类内部有自己的定义。

  • 基类可以覆盖一个虚拟函数。

  • 它没有派生类。

声明

virtual funct_name(parameter_list) {. . . . .};

纯虚函数

  • 它没有定义。

  • 如果一个类至少有一个虚拟函数,它可以被声明为抽象的。

  • 派生类必须覆盖纯虚函数才能使用它。

  • 纯虚函数通过在其声明中放置 "= 0" 来指定

声明

virtual funct_name(parameter_list)=0;

以下是一个示例 −

示例

class Box {
   public:
   // pure virtual function
   virtual double getVolume() = 0;
   private:
   double length; // Length of a box
   double breadth; // Breadth of a box
   double height; // Height of a box
};

更新于:2021 年 3 月 24 日

1K+ 浏览

开启您的 职业生涯

完成课程,获得认证

开始学习
广告