C++學習筆記17 繼承
阿新 • • 發佈:2019-01-27
繼承:
面向物件中的繼承指類之間的父子關係
子類擁有父類的所有成員變數和成員函式
子類就是一種特殊的父類
子類物件可以當作父類物件使用
子類可以擁有父類沒有的方法和屬性
繼承時候的訪問級別設定會影響到成員的訪問級別
class Child: Parent
{}
等價於
class Child: private Parent
{}
注意:
C++中class的繼承預設為private繼承;
private繼承的子類擁有父類的所有成員
private繼承使得父類的所有成員在子類當中變為private成員
類成員訪問級別設定的原則:
需要被外界訪問的成員直接設定為public;
只能在當前類中訪問的成員設定為private;
只能在當前類中和子類中訪問的成員設定為protected;
private成員在子類依然存在,只是不能訪問到;
public | protected | private | |
public | public | protected | private |
protected | protected | protected | private |
private | private | private | private |
公式:
繼承成員對外的訪問屬性
=Max{繼承方式,父類成員訪問級別}
總結:
繼承是一種類之間的關係,子類是一種特殊的父類;
子類通過繼承可以得到父類的所有成員;
private成員可以被子類繼承但不能被子類訪問
protected成員只能在當前類和子類中訪問
不同的繼承方式可能改變繼承成員的訪問屬性。