C 基礎知識5

2021-08-13 02:43:44 字數 746 閱讀 4464

1>有參的父類建構函式

class student:protected person

;初始化列表 只能加在定義當中,不能寫在宣告當中

有子物件的派生類建構函式

先構造父類,再構造子物件,再構造自己。

初始化列表的順序沒有關係

組合關係:

聚合關係 生命週期沒有必然聯絡

部分和整體的關係 緊密

繼承關係

析構的時候順序為:

先自己,後子物件,再基類

構造順序和離誒播啊順序有關

class c : public b, public a

b -> a -> c

int main()

a,b都有disp()

c.disp() 會出現ambiguous二義性錯誤

防止記憶體浪費

父類指標指向子類物件

子類物件代替父類物件

靜態多型:函式過載

發生在編譯期間

函式覆蓋(借助繼承和虛函式)

程式的執行時期

虛函式表

虛析構函式的作用:

清理記憶體

virtual ~animal()//delete 基類物件的時候,呼叫子類的析構函式

{ cout<<"~animal()..."《不能例項化物件

抽象類包含乙個或多個純虛函式

抽象類派生的子類需要把抽象類中的純虛函式實現出來。

C 基礎知識(5)

列舉 是一種資料型別,列舉適用於取值範圍有限的資料 訪問許可權修飾符 enum 列舉名 列舉的訪問許可權修飾符與類一致,修飾符可寫可不寫。類的預設值為interal,列舉的預設值也是interal。列舉名遵循大駝峰命名法。列舉一般和switch case結合使用。eg public enum sea...

c 基礎知識5 內聯函式

內聯函式 解釋 程式在編譯時,會將內聯函式嵌入到呼叫處,適用於功能簡單 規模較小 使用頻繁的函式。格式 inline 函式體 優點 沒有普通函式呼叫的壓棧 跳轉 返回等操作,提高執行效率 缺點 增加 量,消耗記憶體空間。使用限制 為了防止編譯器過於老舊,出現不能內聯的現象,建議對內聯函式進行如下限制...

C 基礎知識

抽象類 abstract class 一種不可以被例項化的類。抽象類中一般含有抽象方法,當然也可有具體實現。繼承類只有實現過所有抽象類的抽象方法後才能被例項化。介面 inte ce 只含有共有抽象方法 public abstract method 的類。這些方法必須在子類中被實現。反射 程式集包含模...