1. 程式人生 > >虛擬函式系列(一)使用角度差異

虛擬函式系列(一)使用角度差異

      純虛擬函式在父類只定義介面,必須由子類實現,是一種執行時動態。包含純虛擬函式的類為抽象類,不能通過new來建立物件。抽象類中包含三種函式:純虛擬函式、虛擬函式、普通函式。

#include<iostream>
 using namespace std;

class VirtualTest{
   public:
         virtual void abstractFunc()=0;  //純虛擬函式:由子類實現
         virtual void defaultFunc(){}      //虛擬函式:父類預設實現
         void commonFunc(){}              //普通函式:統一實現,子類最好不要過載
}

純虛擬函式

    是一種執行時動態,在執行時決定具體呼叫類的函式。

虛擬函式

   父類中提供虛擬函式的預設實現,子類可以重寫虛擬函式。

普通函式

 是靜態編譯,只會呼叫編碼時的類物件的普通函式。