C 純虛函式

2021-09-08 12:54:35 字數 1009 閱讀 5866

#include using namespace std;

//在真正的開發中,有乙個開閉原則;

//對擴充套件開放,對修改關閉;

//用多型的方法實現計算器:

class calculator

int setv2(int v2)

//對於父類中的實現毫無用途和意義時:

//利用純虛數。

virtual int getresult() = 0;

/* virtual int getresult()

*/public://節約時間,寫成public許可權;

//若寫成private,則應該用get介面獲得;

int value1;

int value2;

};class pluscal :public calculator

};class subcal :public calculator

};//直接在原有基礎上擴充套件出新的功能;

class chengcal :public calculator

};void test01()

int main()

//執行結果一樣;

//如果父類中有了純虛函式,那麼子類繼承父類就必須實現純虛函式;

//如果父類中有了純虛函式,那麼這個父類就不能例項化物件了;

/*calculator c1;

calculator *c1 = new calculator;

均不能成立;

*///如果父類中有了純虛函式,那麼這個類也叫做抽象類;

//執行結果一樣;

//如果父類中有了純虛函式,那麼子類繼承父類就必須實現純虛函式;

//如果父類中有了純虛函式,那麼這個父類就不能例項化物件了;

/*calculator c1;

calculator *c1 = new calculator;

均不能成立;

*///如果父類中有了純虛函式,那麼這個類也叫做抽象類;

C 虛函式 純虛函式

1 基本概念 虛函式是在基類中使用關鍵字virtual宣告的函式。在派生類中重新定義基類中定義的虛函式時,會告訴編譯器不要靜態鏈結到該函式。我們想要的是在程式中任意點可以根據所呼叫的物件型別來選擇呼叫的函式,這種操作被稱為動態鏈結,或後期繫結。您可能想要在基類中定義虛函式,以便在派生類中重新定義該函...

C 虛函式 純虛函式

1.析構函式是否應為虛函式問題?2.成員函式的虛函式問題?3.析構函式是否可以為純虛函式問題?說明 僅在使用父類指標指向子類物件時有區別 當析構函式非虛函式時,使用父類指標指向子類物件,在析構時將不會呼叫子類析構函式 當析構函式是虛函式時,使用分類指標指向子類物件,在析構時會呼叫子類析構函式,且呼叫...

C 虛函式 純虛函式

include qdebug class animal void animal animal 即要實現基類animal的animal函式 假如在dog子類中沒有實現animal 函式,則會呼叫基類的animal 函式。即列印 what is the animal 假如在dog子類中實現了animal...