-
虛析構函數原理圖1查看全部
-
重載: (1)相同的范圍(在同一個類中); (2)函數名字相同; (3)參數不同; (4)virtual 關鍵字可有可無。 隱藏: (1)不同的范圍 (2)函數名相同 (3)參數不同 (4)virtual 關鍵字可有可無 覆蓋: (1)不同的范圍(分別位于派生類與基類); (2)函數名字相同; (3)參數相同; (4)基類函數必須有virtual 關鍵字。查看全部
-
多態的實現原理圖3查看全部
-
多態的實現原理圖2查看全部
-
多態的實現原理圖1查看全部
-
1. 多態中存在的問題---內存泄露(只有父類的析構函數執行)---虛析構函數 2. virtual在函數中的使用限制 普通函數;靜態成員函數;內聯函數;構造函數查看全部
-
1. 什么是多態 2. 靜態多態(早綁定),動態多態(晚綁定---封裝,繼承,子類初始化父類) 3. 虛函數查看全部
-
多態的定義查看全部
-
1. 普通虛函數---虛析構函數 2. 純虛函數---抽象類---接口類 3. RTTI 4. 異常處理 5. 隱藏與覆蓋,聯系與區別 6. 早綁定,晚綁定 7. 虛函數表查看全部
-
繼承關系不是RTTI的充分條件,只是必要條件,所以存在繼承關系的類不一定可以用RTTI技術; RTTI的含義是運行時類型識別; RTTI技術可以通過父類指針識別其所指向對象的真實數據類型; 運行時類型別必須建立在虛函數的基礎上,否則無需RTTI技術.查看全部
-
可以使用接口類指針指向其子類對象,并調用子類對象中實現的接口類中純虛函數。 一個類可以繼承一個接口類,也可以繼承多個接口類。 一個類可以繼承接口類的同時也繼承非接口類。 接口類中僅有純虛函數,不能含有其它函數,也不可以含有數據成員。查看全部
-
多態:指相同對象受到不同消息或不同對象收到相同消息時產生不同的動作。 靜態多態(早綁定):在運行前,編譯階段就已確定要調用哪個函數,很早就把函數編譯進去。 動態多態(晚綁定):不同對象,下達相同指令,產生不同動作。前提:以封裝與繼承為基礎。至少要兩個類,父類與子類,用三個類時,動態多態表現地會更明顯。 實現多態的成員函數:用virtual修飾函數,使之成為虛函數。查看全部
-
抽象類:包含純虛函數的類,無法實例化對象。其子類也可能是抽象類。在子類中將所有純虛函數均實現后才能實例化對象。查看全部
-
虛函數:子類繼承父類的多態所需要的一個條件; 虛函數表:使用virtual關鍵字修飾會自動產生的一個指針列表; 純虛函數:虛函數中沒有函數體,并且將其值直接賦0,的函數稱為純虛函數; 抽象類,含有純虛函數的類; 抽象類無法實例化對象; 抽象類的子類有可能也是抽象類;查看全部
-
在C++中多態的實現是通過虛函數表實現的 當類中僅含有虛析構函數,不含其它虛函數時,也會產生虛函數表 每個類只有一份虛函數表,所有該類的對象共用同一張虛函數表 兩張虛函數表中的函數指針可能指向同一個函數。查看全部
舉報
0/150
提交
取消