1、访问限定符

C++ 通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限(也称为可见性),分别表示:公有的、受保护的、私有的。

class 

2、访问权限

所谓访问权限,就是能不能使用该类中的成员。

一般地,在类的内部,无论成员被声明为哪种,都是可以互相访问的;但在类的外部,如通过类的对象,则只能访问 public 属性的成员,不能访问protected、private属性的成员。

对象(object)是类(class)的一个实例(instance)。

具体如下:

  • public:可以被该类中的函数、子类的函数、友元函数访问,也可以由该类的对象访问;
  • protected:可以被该类中的函数、子类的函数、友元函数访问,但不可以由该类的对象访问;
  • private:可以被该类中的函数、友元函数访问,但不可以由子类的函数、该类的对象、访问。

private 关键字的作用在于更好地隐藏类的内部实现。

根据C++的软件设计规范,在实际项目开发中,类的成员变量以及只在类内部使用的成员函数,都建议声明为 private,而将允许通过对象调用的成员函数声明的 public。

成员变量声明为private,如何给它们赋值,以及获取它们的值呢?

通常需要添加两个public属性的成员函数,一个用来设置成员变量的值,一个用来读取成员变量的值。

3、注意事项

  • 如果声明不写 public、protected、private,则默认为 private;
  • 声明public、protected、private的顺序可以任意;
  • 在一个类中,public、protected、private 可以出现多次,每个限定符的有效范围到出现另一个限定符或类结束为止。但为了使程序清晰,应该使每种限定符只出现一次。

abstract类中不可以有private的成员_C++类成员的三种访问权限:public/protected/private...相关推荐

  1. 类的访问权限-public、private、protected

    访问权限 protected(保护)访问权限 为什么要使用protected访问权限? 子类的成员函数中,不能直接访问父类的private成员,已经这些成员已经被继承下来了,但是却不能访问. 只有通过 ...

  2. Java中的四种访问权限:public、protected、包访问、private

    所谓访问权限,指的就是本类中的成员变量.成员方法对其他类的可见性 试想一想,当我们修改一个非常庞大的项目时,如果所有变量和方法都是公共权限,那么后端中任何类都有权限去修改它的变量和方法,很有可能修改后 ...

  3. C# 成员默认访问权限(public、private、protected、internal)

    来源 https://www.cnblogs.com/yezongjie/p/20181121AccessRights.html 1.C#五个修饰符的权限 修饰符 级别 适用成员 解释 public ...

  4. C++ 中的三种继承public , protected, private

    三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 三种继承方式 public 继承 protect 继承 p ...

  5. C++中的三种继承public,protected,private详细解析

    我们已经知道,在基类以private方式被继承时,其public和protected成员在子类中变为private成员.然而某些情况下,需要在子类中将一个或多个继承的成员恢复其在基类中的访问权限 三种 ...

  6. public protected private

    三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 三种继承方式 public 继承 protected 继承 ...

  7. protect 继承_c++三种继承方式public,protect,private

    三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 三种继承方式 public 继承 protect 继承 p ...

  8. C++类中的访问权限问题---public/protected/private

    派生类继承了基类的全部数据成员和除了构造.析构函数之外的全部成员函数,但是这些成员的访问属性在派生的过程中通过继承方式可以来调整. 第一:private,public,protected方法的访问范围 ...

  9. C++学习 十五、类继承(1)基类,派生类,访问权限,protected

    C++学习 十五.类继承(1)基类,派生类 前言 类继承 类的关系与继承 基类, 派生类 基类 派生类 构造函数,析构函数 文件位置 访问权限 protected 后记 前言 本篇开始学习C++类的继 ...

最新文章

  1. Tensorflow【实战Google深度学习框架】—TensorBoard
  2. 基于OHCI的USB主机 —— OHCI(设计思路)
  3. 机器学习-分类算法-K-近邻算法06
  4. Android开发之Socket通信的方法
  5. IDEA一定要改的8条配置
  6. 使用vmstat和iostat命令进行Linux性能监控
  7. CUDA、MPI和SU混编,MakeFile文件的编写
  8. [转载].一直不怎么明白PID的运算输出结果怎么换算成执行机构的控制量
  9. 十三、栅栏CyclicBarrier
  10. 创建钩子(Hook)
  11. C# 控件BackColor = Color.Transparent没有透明的原因
  12. SGU 176 Flow construction(有上下限的最小流)
  13. Panabit安装snmp插件
  14. [笔记]WBS方法论
  15. html转化pdf文字无法显示,HTML 转 PDF 排雷 之 wkhtmltopdf 转换得到的PDF没有内容
  16. NOI-C语言编程基础之循环控制——药房管理
  17. 速卖通关键词挖掘工具_谷歌优化关键词挖掘工具大全
  18. PHP电话号码 区号,中国城市电话区号对照表
  19. 安卓开发——Intent跳转地图应用(百度地图、高德地图)
  20. python文本关联分析_如何对文本内的某个词的关联词进行提取?

热门文章

  1. 设计模式的理解:状态模式(State) 和备忘录模式(Memento)
  2. java数组扩容arraylist,ArrayList--扩容机制
  3. vant 做表格_Vant List 列表
  4. 直播预告 | 如何在有限数据下实现资讯类网站海量信息自动分类
  5. oracle 显示最后几条,oracle 先分组后获取每组最大值的该条全部信息
  6. java分装_Java ——Number Math 类 装箱 拆箱 代码块
  7. future 线程报错后_线程池运用实例——一次错误的多线程程序设计以及修复过程...
  8. LINUX挂接移动硬盘
  9. AOSP 源码整编单编
  10. 【C++】类型转换简述:四种类型转换方式的说明及应用