C 中有私有繼承和公有繼承之分

2021-05-25 10:59:31 字數 537 閱讀 3014

c++

中有私有繼承和公有繼承之分。

通常我們使用公有繼承,以繼承父類中所有的成員變數和函式,但是,只有父類中被宣告為

private

以及protected

的成員變數和成員函式在子類中師可見的。而不是說子類只繼承父類中的公有成員。而那些在父類中的公有成員被繼承至子類後,仍然保持公有,除非我們顯式地將其宣告為私有。

如:private:

base::f;

base::h; 其中

f和h均為父類中的函式名。

當私有繼承時,仍然會繼承所有父類的血統。但是,從繼承來的所有成員(變數和函式),在子類中都變為私有。如:

class a

virtual ~a(){}

int geta() };

class b:private a };

int main(int argc,char* argv)

當然我們可以顯示地宣告被繼承的成員為公有。

如:public:

base::f;

base::h

C 公有繼承 私有繼承和保護繼承

在c 中有三種繼承方式 公有繼承 public 私有繼承 private 和保護繼承 protected 1.公有繼承 public 公有繼承 基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。2.私有繼承 private ...

C 公有繼承,私有繼承和保護繼承

三種訪問許可權 public 可以被任意實體訪問 protected 只允許子類及本類的成員函式訪問 private 只允許本類的成員函式訪問 友元函式可以訪問這三種訪問許可權的成員 三種繼承方式 public 繼承 protect 繼承 private 繼承 組合結果 基類中 繼承方式 子類中 p...

c 公有繼承 保護繼承和私有繼承

c 中的繼承方式有 public private protected三種 它們直接影響到派生類的成員 及其物件對基類成員訪問的規則 1 public 公有繼承 繼承時保持基類中各成員屬性不變,並且基類中private成員被隱藏。派生類的成員只能訪問基類中的public protected成員,而不能...