1. 程式人生 > >C++學習筆記17 繼承

C++學習筆記17 繼承

繼承:

面向物件中的繼承指類之間的父子關係
 子類擁有父類的所有成員變數和成員函式
 子類就是一種特殊的父類
 子類物件可以當作父類物件使用
 子類可以擁有父類沒有的方法和屬性

繼承時候的訪問級別設定會影響到成員的訪問級別

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成員只能在當前類和子類中訪問

不同的繼承方式可能改變繼承成員的訪問屬性。