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繼承 父類中的公有成員變為保...