public,protect,private访问权限

第一:private, public, protected 访问标号的访问范围。

private:只能由1.该类中的函数、2.其友元函数访问。
不能被任何其他访问,该类的对象也不能访问。

protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
但不能被该类的对象访问。

public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。

注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。

第二:类的继承后方法属性变化。
private 属性不能够被继承。
使用private继承,父类的protected和public属性在子类中变为private;
使用protected继承,父类的protected和public属性在子类中变为protected;
使用public继承,父类中的protected和public属性不发生改变;

如下所示:  
                      public:            protected:       private:
public继承             public             protected        不可用 
protected继承       protected       protected        不可用 
private继承            private           private             不可用

protected继承和private继承能降低访问权限。

时间: 2024-12-16 03:16:09

public,protect,private访问权限的相关文章

public,protected,private访问权限研究

结论1:一个类的public,protected和private成员(成员变量和成员函数)在另一个不相关类中的访问权限分别为可以访问,不可访问,不可访问 代码段1.1:Base.h文件 #ifndef BASE_H #define BASE_H class CBase { public: CBase(int o_public = 0, int o_protected = 0, int o_private = 0): m_public(o_public), m_protected(o_protec

public/protect/private和公有继承/保护继承/私有继承的简单理解

一.先来看一下没有继承的情况 类中的变量访问: (1)类内访问方式:通过public成员函数访问 (2)类外访问方式:直接访问 表 1 class A { public: int a; protected: int b; private: int c; public: int getAll(){ return a + b + c; } }; int main() { A testA; //类外访问方式 testA.a; testA.b; testA.c; //类内访问方式 testA.getAl

JAVA中public protected default private访问权限

前言:本文解决的问题 public protected default private这四个修饰符的访问权限问题 public对所有类公开,private只有本类可以访问.这里需要注意的是protected,除了对本类和子类公开外,还对本包所在类的公开,即同一包类的类都可以访问:default,如果没有明确写出修饰类型则为default,它只对本包公开.这四个修饰符的访问权限从大到小为public>protected>default>private. 另外,慎用protected,容易破

C++中public,protected,private访问

总结:1. protected和private的区别在于 ,protected的访问标号限制,能够被派生类的成员函数访问,而private不能2. protected和publice的区别在于,protected的访问限制,使其不能被基类的对象访问. -----------------------------------------------------第一:private, public, protected 访问标号的访问范围.private:只能由1.该类中的函数.2.其友元函数访问.不

public protect private

这个问题 应该很老了,但是确实是重点中的重点,如果没有真正的都用过这些修饰符,其实对其的作用并不深刻,我也没用过默认的修饰符,所以有时候也总把friendly和protected搞混,还因为这个丢失了一次很好的工作机会,随意今天又重新弄了一下跟大家分享,没事自己就看看. (1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类.接口.异常等.它往往用于对外的情况,也就是对象或类对外的一种接口的形式. (2)对于protected修饰符,它主要的作用就是用来保

[C++]访问控制与继承(public,protect,private) 有时间再整理!!!

http://www.cnblogs.com/chio/archive/2007/06/11/779408.html http://www.cnblogs.com/SelaSelah/archive/2012/08/12/2634256.html http://www.cnblogs.com/BeyondAnyTime/archive/2012/05/23/2514964.html http://bbs.csdn.net/topics/380193036 http://www.cnblogs.c

Java中的访问权限解析

在Java中不同的对象和类拥有不同的访问权限,所以在java中对不同的类和对象进行权限的设置显得尤为重要. java中的权限主要分为四种,public,protect,private,和default在声明类和对象的时候如果没有注明权限则为默认的即(default).下面将对这四种权限仅向简单的解析,部分为网上博主的总结再加上个人总结 1.权限解析Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符.private:

【java编程思想--学习笔记(二)】访问控制-Java访问权限修饰词

如果不提供任何访问修饰词,则意味着它是"包访问权限". 2.1 包访问权限 包访问权限赋予包内的类相互访问彼此成员的权限. 应该说, 包访问权限为将类群聚在一起的行为提供了意义和理由,即建立包的目的不仅仅是为了分类和区分,更是为了是同一个包内的类可以拥有彼此的代码. 取得对某一成员访问权的途径: 1)该成员的访问修饰词为public. 2)通过不加访问权限修饰词并将目标类放在同一包内的方式. 3)继承.子类可以访问父类的public和protected修饰词的成员,但只有在父子类处于同

关于C++类成员访问权限的理解

这是我的第一篇博客耶,翻书的时候想到关于类和对象的几个疑惑,记一记吧. 一直的一个问题就是,为什么要提供访问限制?上网查了一些资料,感觉private主要是一种思想的体现.足够小心谨慎是可以全部public的. 访问权限强调了面向对象的封装思想,拒绝权限外的访问,增强了代码的可维护性,不会别人随便改啊改,修改了暴露的不该动的东西. 怎么算是类内外的访问??在外面访问成员方法还可以理解,怎么访问变量?(哦原来就是下面的printf那句) 一个成员的访问权限怎么体现呢? 一个成员变量,怎么算是私有的