c09 虛繼承,析構,公約數

2021-06-21 07:44:37 字數 445 閱讀 2011

1.虛繼承,處理b,c繼承a,而d又繼承bc的問題

#include using namespace std;

class a

return a;

}int gcb(int a, int b)

5.求絕對值:a>0?a:-a;

6.父子類之間沒有過載,同名覆蓋

7.過載與返回型別無關

8.建立子類時,如果沒有在初始化列表中初始化父類,預設呼叫父類無產建構函式

9.無名物件,語句結束立即釋放

10.要求類有相應引數的建構函式則:a a = a(40); a a = (a)40; a a = 40;強制型別轉換,預設有低階型別轉向高階型別

11.常量物件不能呼叫普通成員函式,普通物件優先呼叫普通成員函式

12.class可以繼承struct

虛析構和純虛析構 C

解決父類無法釋放子類的堆區記憶體問題。注意 純虛析構無法例項化 虛析構和純虛析構 多型使用時,如果子類有物件開闢到堆區,那麼父類指標在釋放時無法呼叫到子類的析構 解決方式 將父類中的析構函式改為虛析構或者純虛析構 虛析構和純虛析構的共性 可以解決父類指標釋放子類物件 都需要有具體的函式實現虛析構和純...

C 虛析構函式 純虛析構函式

虛析構函式 析構函式的工作方式是 最底層的派生類 most derived class 的析構函式最先被呼叫,然後呼叫每乙個基類的析構函式。因為在c 中,當乙個派生類物件通過使用乙個基類指標刪除,而這個基類有乙個非虛的析構函式,則結果是未定義的。執行時比較有代表性的後果是物件的派生部分不會被銷毀。然...

C 虛析構函式 純虛析構函式

虛析構函式 析構函式的工作方式是 最底層的派生類 most derived class 的析構函式最先被呼叫,然後呼叫每乙個基類的析構函式。因為在c 中,當乙個派生類物件通過使用乙個基類指標刪除,而這個基類有乙個非虛的析構函式,則結果是未定義的。執行時比較有代表性的後果是物件的派生部分不會被銷毀。然...