公有 私有和受保護

2021-04-13 22:28:11 字數 615 閱讀 9178

class base ;

struct public_derived : public base

; //ok:i is protected , derived classes can access i

int use_base2(); //error: j is private }

struct protect_drived : protected base

; //ok:可以訪問受保護成員

int use_base2(); //error:不能訪問基類的私有成員 }

struct private_drived : private base

; //ok:

int use_base2(); //error:不能訪問基類的私有成員 }

void main()

如果是公用繼承,基類成員保持自己的訪問級別:基類的public成員為派生類的public成員,基類的protected成員為派生類的protected成員。

如果是受保護繼承,基類的public和protected成員在派生類中為protected成員。

如果是私有繼承,基類的所有成員在派生類中為private成員。

具體請參看上面的例子。  

公有 私有和受保護成員的特點

公有 私有和受保護成員的特點公有 public 公有成員能被繼承,也可以被外部函式訪問。私有 private 私有成員不能被繼承,也不能被外部函式訪問。受保護 protect 受保護成員能夠被繼承,但是不能被外部函式訪問 在實現部分定義的成員預設是受保護成員 如 class a 而在實現部分的成員則...

公有的 私有的 受保護的繼承

include using namespace std class a int a int a2 protected 受保護的,int b private 私有的,int c class b1 public a 類b1繼承了公有的a,class c public b1 class b2 privat...

C 繼承 公有,私有和保護

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