虛擬函式與純虛擬函式的區別


在本篇文章中,我們將瞭解虛擬函式和純虛擬函式的區別。

虛擬函式

  • 它在類內部有自己的定義。

  • 基類可以覆蓋一個虛擬函式。

  • 它沒有派生類。

宣告

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+ 瀏覽

開啟您的 職業生涯

完成課程,獲得認證

開始學習
廣告