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状态只能被实现类本身或者它的继承类访问
}
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状态只能被实现类本身或者它的继承类访问
}
相关文章推荐
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- C++中类成员访问权限的警醒
- C++ 类成员的访问权限
- C++:类的成员访问权限控制
- C++ 子类能不能改变父类中成员的访问权限?
- c++与Java中继承关系对成员访问权限的影响之比较
- C++ 中基类及派生类中继承成员访问权限
- C++成员变量、函数修饰符与访问权限
- C++中指向子类的父类指针访问父、子类成员时的权限和函数隐藏规则
- C++ 类的继承,子类以及之类的对象 对父类成员函数的访问权限
- c++ 类成员的访问权限priavte, protected, public
- C++ protected成员访问权限
- c++学习——类成员的访问权限
- C++子父类成员之间相互访问的权限分析
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- C++成员变量、函数修饰符与访问权限
- 【C++】:C++中的类成员访问权限
- C++ 公有继承、保护继承和私有继承中类成员的访问权限的控制
- C++中类的访问权限针对的是类而不是对象!(为什么类中的函数可以访问对象的私有成员?)