C++中的public、protected 及 private 用法

首先需要明白几点:

1,类的一个特性就是封装,public 和 private 作用就是实现这一目的的。

用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和 友元访问。

2,类的另一个特性就是继承,protected的作用就是实现这一目的的。

protected成员可以被派生类对象访问,不能被用户代码(类外)访问。

形象解释:

1.public 表明该数据成员、成员函数是对所有用户开开放的,所有用户可以直接访问。

2. private 表示私有,除class自己外,任何人都不可访问。子女、朋友也不行。

3. protected 表示对子女、朋友来说,就是public,可以自由使用。对于外部class,就变成private。

时间: 2024-08-09 10:31:31

C++中的public、protected 及 private 用法的相关文章

C#中的public protected internal private

1.常见的四种方位修饰符关系下图中的protected internal是并集的关系,意思是在命名空间内是internal的,在命名空间外是protected的 2.sealed final sealed 修饰符可以应用于类.实例.方法和属性.这个是C#中用的 用于类时,该类被称为密封类,密封类不能被继承: 用于方法时,该方法被称为密封方法,密封方法会重写基类中的方法:sealed修饰符应用于方法或属性时,必须始终与override一起使用: 结构是隐式密封的,因此它们不能被继承. final修

深入理解C++中public、protected及private用法

深入理解C++中public.protected及private用法 这篇文章主要介绍了C++中public.protected及private用法,对于C++面向对象程序设计来说是非常重要的概念,需要的朋友可以参考下 初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂.今天本文就来十分分析一下C++中public.protected及private用法.相信对于大家深入掌握C++程序设计会有很大的帮助. 这里我们首先要

C++中public、protected及private用法

转自:http://www.jb51.net/article/54224.htm 初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂.今天本文就来十分分析一下C++中public.protected及private用法.相信对于大家深入掌握C++程序设计会有很大的帮助. 这里我们首先要明白下面几点. 1.类的一个特征就是封装,public和private作用就是实现这一目的.所以: 用户代码(类外)可以访问public成

JAVA中public protected default private访问权限

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

Java的权限修饰符(public,protected,default,private)

访问权限修饰符权限从高到低排列是public  ,protected  ,default, private. 一.根据"是否是同包"."是否是子类"分为4中情况+本类 5种情况 二.把 同包中的子类 和 同包中的非子类 合并为 同包 访问修饰符 本类 同包 不同包,子类 不同包,非子类 public √ √ √ √ protected √ √ √   default(friendly) √ √     private √      

public,protected,friendly,private的访问权限

请说出作用域public,private,protected,以及不写时的区别 这四个作用域的可见范围如下表所示. 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly. 作用域    当前类  同一package  子孙类  其他package public        √        √           √        √ protected     √         √         √        × friendly      √          √

java 修饰符的作用一(public protected default private 组)

1.public protected default private 组 public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问. java 默认的权限是default,即friendly(注:friendly 在java中没有,是c的说法.) 同类,同包,同包子类父类都可以访问. protected受保护的,同类,同包,同包子类父类,不同包子类父类都可以访问 private 私有的权限最小,同类可以访问. 图如下: 位置                   

java四种权限修饰符(public > protected > (default) > private)

权限修饰符在哪里可以访问 (default) : 表示什么权限修饰符都不写 位置 public protected (default) private 同一个类 yes yes yes yes 同一个包 yes yes yes no 不同包子类 yes yes no no 不同包非子类 yes no no no 原文地址:https://www.cnblogs.com/zhuobo/p/10612656.html

详解Java中的访问控制修饰符(public, protected, default, private)

Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获.如果文章中出现错误,欢迎评论指出,共同交流~ 说在前面:这篇文章只研究Java中访问控制修饰符声明类的变量/方法的情况. 先抛出结论: * 成员变量/方法的访问权限 *                                        private        default  

c/c++ 继承与多态 继承中的public, protected, private

问题:类B私有继承类A,类A有个protected成员,那么在类B的成员函数里是否可以使用类A的protected成员? 可以使用. 估计有的同学说不对吧,类B都私有继承了类A了,怎么还能访问类A的protect成员呢?请看下面的例子.在类Pri_derv的f()成员函数里是可以方位父类Base的pub_mem();和prot_mem;的. class Base{ public: void pub_mem(); protected: int prot_mem; private: char pri