C++的public,private,protected权限
2013-09-10 14:15
316 查看
转载地址:/article/1948474.html
由于不存在包的概念,因此,C++的protected与java中的protected有所不同,Java中的protected不但子对象可以访问,而且包里的其它地方,也可以显示的通过子对象调用,如
package pack1
public class A{
protected int a;
}
package pack1
public class B{
public static void main(String[] args){
System.out.println(a);
}
}
上述代码是没有问题的,但如果B与A不在同一个包中,则不能访问。因此,在Java中,protected在可见性在与packaged权限类似,而只是在继承性上,没有对包划界,packaged权限不允许子象访问其它包内父对象的包访问权限的属性。
在C++里,protected属性有严格的定义,即只具有垂直的访问权限,只有其自身与其后代可以访问,限一个类的protected属性,只有其内部与子对象内部可以访问,而在其它地方是不可见的,下表列出了C++三种继承对属性的访问情况(缩小访问):
public属性 protected属性 private属性
public继承 public protected 不可见
protected继承 protected protected 不可见
private继承 private private 不可见
由于不存在包的概念,因此,C++的protected与java中的protected有所不同,Java中的protected不但子对象可以访问,而且包里的其它地方,也可以显示的通过子对象调用,如
package pack1
public class A{
protected int a;
}
package pack1
public class B{
public static void main(String[] args){
System.out.println(a);
}
}
上述代码是没有问题的,但如果B与A不在同一个包中,则不能访问。因此,在Java中,protected在可见性在与packaged权限类似,而只是在继承性上,没有对包划界,packaged权限不允许子象访问其它包内父对象的包访问权限的属性。
在C++里,protected属性有严格的定义,即只具有垂直的访问权限,只有其自身与其后代可以访问,限一个类的protected属性,只有其内部与子对象内部可以访问,而在其它地方是不可见的,下表列出了C++三种继承对属性的访问情况(缩小访问):
public属性 protected属性 private属性
public继承 public protected 不可见
protected继承 protected protected 不可见
private继承 private private 不可见
相关文章推荐
- 对于C++中公有(public)、私有(private)、保护(protected),访问权限的一点总结
- C++中 public,protected, private 访问权限标号小结
- C++的public,private,protected权限
- C++中public、protected、private的权限
- C++_public,protected,private访问权限
- (C++)权限修饰符 public private protected的联系与区别
- C++中public,protected,private派生类继承问题和访问权限问题
- C++中的public、protected与private的类成员权限设置和继承方式
- c++ private public protected-->类的访问权限小结
- public,private,protected访问权限在Java,C++中的解析
- C++ public protected private成员访问权限解读
- C++的类和对象--权限public-private-protected
- public,private,protected访问权限在Java,C++中的解析
- C++访问权限 public、protected、private 解析
- C++访问权限控制(public、protected、private)
- C++的访问权限控制关键字:private / public / protected
- public,private,protected访问权限在Java,C++中的解析
- C++中public,protected,private派生类继承问题和访问权限问题
- public,private,protected访问权限在Java,C++中的解析
- C++之public、private、protected(一)派生类继承与访问权限详解