c++继承关系中的访问控制,子类与父类内部以及对外的访问权限
关于继承:
子类拥有父类的所有成员变量和成员函数,子类可以拥有父类没有的方法和属性,子类就是一种特殊的父类,子类对象可以当作父类对象使用。
不同的继承方式对访问权限的影响:
(1)c++中不同的继承方式下,子类的成员对外的访问权限(也就是在程序中一个普通的子类对象的访问权限)
1.public继承:父类成员的访问级别原封不动的转移到子类中来;
2.protected继承:父类中public和protect成员都变成protected的,private还是private;
3.private继承:父类中所有成员在子类中都表现为private;
(2)注意:***private成员在子类中依然是存在的,但是,不论在子类中,还是通过子类的对象,都不能访问父类的private对象,也不论是哪一种继承方式。***其他的父类的public、protected成员都可以在子类内部访问到,能不能通过子类的对象访问到,要通过继承方式和其再父类中的权限判断。
对于一个类来说,其成员访问类型的设置原则为:
(1)需要能被开放的,被类对象访问,被外界修改的,设置为public
(2)不能被外界访问、修改的,只在类内部访问的,设置为private
(3)只能在类内和子类成员访问&