45 不同的繼承方式

2021-08-19 19:55:19 字數 910 閱讀 1711

public繼承:父類成員在子類中保持原有的訪問級別。

private繼承:父類成員在子類中變為私有成員。

protected繼承:父類中的公有成員變為保護成員,其他成員保持不變。

繼承成員的訪問屬性=max

c++中的預設繼承方式為 private。

#include

#include

using namespace std;

class parent

};class child_a : public parent

};class child_b : protected parent

};class child_c : private parent

};int main()

{   

child_a a;

child_b b;

child_c c;    

a.m_c = 100;

// b.m_c = 100;    // child_b 保護繼承自 parent, 所以所有的 public 成員全部變成了 protected 成員, 因此外界無法訪問

// c.m_c = 100;    // child_c 私有繼承自 parent, 所以所有的成員全部變成了 private 成員, 因此外界無法訪問    

a.set(1, 1, 1);

// b.set(2, 2, 2);

// c.set(3, 3, 3);    

a.print();

b.print();

c.print();    

return 0;

一般而言,c++工程專案中只使用 public 繼承。c++的派生語言只支援一種繼承方式(public繼承),protected 和 private 繼承帶來的複雜性遠大於實用性。

45 繼承的方式

派生類訪問控制 派生類繼承基類,派生類擁有基類中全部成員變數和成員方法 除了構造和析構之外的成員方法 但是在派生類中,繼承的成員並不一定能直接訪問 繼承方式 不管公有繼承 保護 還是私有 基類中的私有屬性 都不可以繼承下去 公有繼承 父類中的protected 在子類中是 protected 父類中...

不同的繼承方式

冒號 表示繼承關係,parent表示被繼承的類,public的意義是什麼,是否可以替換成private或者protected?答案是肯定的 class parent class child public parent c 中支援三種不同的繼承方式 public 繼承 父類成員在子類中保持原有訪問級別...

不同的繼承方式

冒號 表示繼承關係,parent表示被繼承的類,public的意義是什麼?class parent class child public parent public繼承 父類成員在子類中保持原有訪問級別 private繼承 父類成員在子類中變為私有成員 protected繼承 父類中的公有成員變為保...