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中不可见


(2012-03-28,文章来源——http://www.cnblogs.com/super119/archive/2011/04/05/2005625.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章