C 繼承的選擇

2021-10-09 17:46:53 字數 945 閱讀 3290

1 c++的繼承有public繼承, protected繼承和private繼承

;//公共繼承

class son1 :public base1

};void myclass()

在子類中可以訪問到public和protected 變數和方法,但是在外部只能訪問到public區域, 如果想要修改protected變數只能通過子類的方法來改變

class base1

;//公共繼承

class son1 :public base1

void change_protected_var(int data)

};void myclass()

//保護繼承

class base2

;class son2:protected base2

};void myclass2()

protected繼承和public繼承的區別在於,是否能夠在外部訪問public區域, protected繼承只能在子類內部對public和protected訪問

//私有繼承

class base3

;class son3:private base3

};class grandson3 :public son3

};

private繼承區別在於完全私有的, 子類繼承後不能訪問, 即使m_a和m_b之前是public和protected繼承

public,protected,private 關鍵字, 具體的使用情況不只是和定義有關,也和繼承有關

車輛選擇(繼承)

有乙個汽車類vehicle,它具有乙個需傳遞引數的建構函式,汽車類vehicle中的資料成員為 車輪個數wheels和車重weight放在保護段中,汽車類vehicle中的公有成員函式為 get wheels 返回車輪個數的值 get weight 返回車重的值 wheel load 返回每個輪胎的...

C 設計類選擇繼承或組合

在c 程式設計設計類時,用到其他類的屬性或者方法要明白是用組合還是繼承。組合即是has a,該類擁有哪些屬性或者方法 繼承即是is a,該類擁有父類的屬性或者方法。這裡舉乙個例子,假如有乙個父類汽車,當有轎車 卡車 麵包車等類似的實體時,此時應該選擇繼承,即派生類擁有父類汽車的屬性或者方法 當有發動...

繼承與組合的選擇

1 繼承與組合是重用物件 的機制。2 關於父子類的初始化,請參考初始化列表 不能繼承的函式 l建構函式和析構函式 建構函式與析構函式只負責它所在的那一層上的構建與釋放。子類仍然需要自己的建構函式,也需要手動呼叫父類的自定義建構函式。loperator 理由同上。4 new delete是可以被繼承的...