C++的public、protected、private 详解

1、对于单个类来说,这三个范围限定符的意义如下:
公有成员(public member) 在程序的任何地方都可以被访问。实行信息隐藏的类将其public 成员限制在成员函数上,这种函数定义了可以被一般程序用来操纵该类类型对象的操作
私有成员(private member) 只能被成员函数和类的友元访问。实行信息隐藏的类把其数据成员声明为private
被保护成员(protected member) 对派生类derived class 就像public 成员一样,对其他程序则表现得像private

总之,对于单个类的成员函数来说,无论成员变量是public、protected还是private,他都可以访问,但是,对于类的对象(也就 是类的实例 instance)来说,只能访问public类型的变量和成员函数,不能访问protected和private类型的

2、对于类继承来说,也有public、protected和private三种方式的继承,这三种继承的定义如下(以下都假设A是基类,B是派生类):

public继承:A类中public类型成员在B中还是public的,A类中protected类型成员在B中是protected的,A类中private类型成员在B中不可见

protected继承:A类中public类型的成员在B中变成protected类型,A类中protected类型的成员在B中还是protected类型,A类中private类型的成员在B中不可见

private继承:A类中public和protected类型的成员在B中全变成private类型,A类中private类型的成员在B中不可见
posted @ 2011-04-05 10:17  super119  阅读(1063)  评论(0编辑  收藏  举报