ndk開發彙總
增加程式的擴充套件性
class parent
};class child :public parent
};parent *c = new child();
// 編譯期間 確定c 為 parent 呼叫parent的test方法
c->test();
//修改parent為virtual 虛函式 動態鏈結,告訴編譯器不要靜態鏈結到該函式
virtual void test()
//動態多型 呼叫child的test方法
c->test();
建構函式任何時候都不可以宣告為虛函式則在virtualfun函式中通過父類指標操作子類物件的成員函式的時候是沒有問題的,可是在銷毀物件記憶體的時候則只是執行了父類的析構函式,子類的析構函式卻沒有執行,這會導致記憶體洩漏析構函式一般都是虛函式,釋放先執行子類再執行父類
void zipfun(
)
呼叫後列印:沒有走子類copter的析構函式
plane 無參建構函式00905a08灣流1991
copter 無參建構函式灣流1991
copter land
plane 析構函式00905a08灣流1991
解決方法將plane 和copter 的析構函式都宣告為虛函式(.h宣告中加上virtual關鍵字)
//純虛函式
virtual void test(
)= 0;
class parent ;
class child :public parent
};
C 基礎 虛函式 純虛函式 普通函式
為什麼要使用虛函式 說明 為什麼要使用純虛函式 什麼情況下使用純虛函式 滿足以上兩點,可考慮宣告為純虛函式。例1 class a 輸出結果 function in class a function in class a function in class b function in class a ...
c 基礎系列 虛函式 虛表
歡迎來到c 基礎系列的部落格 我們剛才例項化物件的時候,示例一直豬是這樣寫的 pig pig new pig 但因為其是繼承animal動物類的,所以說我們其實也可以這樣寫 animal pig new pig 這種寫法一般情況下沒有毛病,但是如果子類重寫了基類的方法時,就會出現問題 呼叫的還是基類...
C語言基礎 13 函式
在使用函式前必須定義或者宣告函式。double circle double r int main double circle double r 在呼叫函式的時候,函式大多數都有引數,主調函式和被呼叫函式之間需要傳遞資料。在定義函式時函式名後面括弧中的變數名稱為 形式引數 簡稱形參。在呼叫函式時,函式...