关于C++中的public、private、protected

来源:互联网 发布:淘宝宝贝图片下载 编辑:程序博客网 时间:2024/05/21 15:06

C++是一种面向对象语言,它引入了类的概念,使用类可以非常好的实现代码的封装,从而保护一些数据的安全性。public、private、protected就是为封装准备的。在封装的代码中,如果想要公开一些数据给用户,就可以使用public修饰;如果只希望自己能够访问,那么请使用private修饰;如果不想对所有的用户公开,则可以使用protected。具体如下:
public:任何实例化的对象都可以访问。
private:只能通过类本身的成员函数进行访问。
protected:类本身以及它的子类的成员函数可以直接访问。

这三个关键字除了可以修饰类的成员外,还可以在类继承时,通过使用它们修饰父类,来改变父类在子类中的权限级别,从而起到一定的限制作用。如:
class A : protected B{…….}
在这个过程中,遵循一个原则:限制级别高的修饰符可以覆盖级别低的修饰符,反之不成立。
这三者的级别为:private > protected > public
如果上面的例子中B类有三个成员b1, b2, b3,它们的属性分别为:
public,private,protected。那么,在继承后,对于类A来讲,b1、b2、b3在其中的属性分别变成了:protected(覆盖了public)、private(无法覆盖,则保留原来的属性)、protected。

0 0