类中的一个成员可以是:private protected public
1.如果一个成员是private ,它的名字将只能由其声明所在类的成员函数和友元使用
2.如果一个成员是protected,它的名字只能由其声明所在类的成员函数和友元,以及由该类的派生类的成员函数及友元使用
3.如果一个成员是public ,它的名字可以由任何函数使用
派生类与基类的继承权限(public protected private)
对于基类的访问描述符控制着对基类成员的访问,以及从派生类类型到基类类型的指针与引用转换。考虑从基类B派生出类D
1.如果B是private 基类,那么它的public 和protected成员只能由D的成员函数和友元访问。
只有D的成员和友元能将D* 转换到B*
2.如果B是protected 基类,那么它的public和protected成员只能由D的成员函数和友元,以及由D派生出的类的成员函数和友元访问。只有D的成员和支元以及由D派生出的类的成员和友元能将D* 转换到B*
3.如果B是public基类,那么它public成员可以由任何函数使用。除此之外,它的protected成员能由D的成员函数和友元,以及由D派生出的类的成员函数和友元访问,任何函数都能将D*转换到B*