您的位置:首页 > 编程语言 > C语言/C++

C++成员访问权限

2012-10-26 21:34 176 查看
C++中,类无权限,类成员有三个权限 ,类继承有三个权限,无包的概念。

C++的类本身没有权限,class A, 只要这么写就OK了。

类的成员有三个权限public, protected,private。权限为public的成员,可以在任何情况下访问,在类内,在类外(通常指类的实例化)都可以被访问。权限为private的成员,可以只可以在本类的实现中被访问,即使一个实例化的变量,也可以在相同的类的实现中,访问private的成员。权限为protected的成员,可以在本类的实现中和继承类的实现中被访问。

继承有三个权限,public ,protected ,private,如果class B: access A,

1) B绝对不可以访问A的private成员,但是可以任意访问A的public和protected成员

2)若access为public,则A中的public成员在B中呈现public状态(以下简写为:A public - B public)

A protected - B protected

3)若access为protected,则

A public - B protected

A protected- B protected

4)若access为private,则

A public - B private

A protected -B private

举例:

class A{

public :

A1 ;

protected :

A2 ;

private:

A3 ;

}

class B protected A{

public:

B1(){

A1 ;//可以任意访问A中的public和protected成员

A2 ;

}

}

void main(){

B b ;

b.B1()//允许,因为B1在类B中呈现public状态,public状态可以被任意访问

b.A1()//允许,因为A1在类B中呈现public状态,public状态可以被任意访问

b.A2()// 不允许,因为A1在类B中呈现protected状态,protected状态只能被实现类本身或者它的继承类访问

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: