C 繼承之隱藏

2022-03-25 20:56:31 字數 1503 閱讀 9211

什麼是隱藏 ?就是說在下面的這種情況下,父類的abc會在子類中進行隱藏,但是子類的確繼承了父類的abc函式 。如果一定要使用父類中的abc,那麼必須進行特殊處理。

#include

#include

#include

using

namespace

std;

class person

void play()

protected:

string name ;

};class worker : public person

void print()

protected:

};int main(void)

執行結果:

值得一提的是:

如果父類與子類中的函式引數型別與個數不相同,也會發生隱藏現象,也就是說不會發生過載 。

必須使用這種寫法去呼叫父類隱藏的成員函式「work1.person::play(); 」

當然了,說了這麼多,又有誰會去這樣去設計**吶,切~

#include

#include

#include

using

namespace

std;

class person

void person_print()

protected:

string name ;

};class worker : public person

void print()

protected:

string name ; // 與父類資料成員同名

};int main(void)

執行結果:

改進:

#include

#include

#include

using

namespace

std;

class person

void person_print()

protected:

string name ;

};class worker : public person

void print()

protected:

string name ; // 與父類資料成員同名

};int main(void)

執行結果:

為什麼需要名字隱藏機制

c++中的覆蓋與隱藏

C 繼承之隱藏

什麼是隱藏 就是說在下面的這種情況下,父類的abc會在子類中進行隱藏,但是子類的確繼承了父類的abc函式 如果一定要使用父類中的abc,那麼必須進行特殊處理。執行結果 值得一提的是 如果父類與子類中的函式引數型別與個數不相同,也會發生隱藏現象,也就是說不會發生過載 必須使用這種寫法去呼叫父類隱藏的成...

C 繼承之 過載 覆蓋 隱藏

在c 繼承中經常會遇到函式過載 覆蓋 隱藏這三個玩意,但是這三者的本質區別又是什麼,自己在網上和資料里查後並通過 證實,下面我們看看者三者的本質 1 過載 過載是c 獨有的乙個特性,c下面是沒有的,具體分析請看 這裡我們來具體看看過載,過載特點 1 在同一範圍 2 函式名相同 3 引數不同 4 返回...

c 繼承,隱藏(重定義)

繼承是物件導向復用的重要手段,通過繼承定義乙個類,繼承是型別之間的關係模型。共享公有的東西,實現各自本質的不同的東西。一 三種繼承關係 public 公有繼承 protected 保護繼承 private 私有繼承 繼承是一種復用的手段,在繼承關係裡基類 父類 的成員都會成為派生類 子類 的成員,由...