访问权限

  • protected(保护)访问权限

    为什么要使用protected访问权限?

    子类的成员函数中,不能直接访问父类的private成员,已经这些成员已经被继承下来了,但是却不能访问。

    只有通过父类的public函数来间接访问,不是很方便。

    比如,刚才Demo中Father类中的name和age成员。

  class Father {public:Father() {name = "无名";age = 0;}Father(const char* name, int age) {this->name = name;this->age = age;}string get_name()const {return name;}int get_age()const {return age;}private:string name;int age;};

解决方案:
把name和age定义为protected访问访问权限。

  protected:string name;int age;

效果:

Son类的成员函数中,可以直接访问它的父类的protected成员。

但是在外部,别人又不能直接通过Son对象来访问这些成员。

//定义一个儿子类
class Son : public Father {public:Son(const char* name, int age) {this->name = name;this->age = age;}};

一个类, 如果希望, 它的成员, 可以被自己的子类(派生类)直接访问,

但是, 又不想被外部访问那么就可以把这些成员, 定义为 protected访问权限!!!

  • 访问权限总结:

    public

    外部可以直接访问.

    ​ 可以通过对象来访问这个成员

    ​ Fahter wjl(“王健林”, 65);

    ​ wjl.get_name();

    private

    外部不可以访问

    ​ 自己的成员函数内, 可以访问

    ​ Fahter wjl(“王健林”, 65);

    ​ wjl.name; // 错误!!!

    ​ Father内的所有成员函数内, 可以直接访问name

    protected

    protected和private非常相似

    和private的唯一区别:

    protecte: 子类的成员函数中可以直接访问

    private: 子类的成员函数中不可以访问

类的访问权限-public、private、protected相关推荐

  1. java访问权限 public private protected

    作者:yan 1. Java中的访问控制 表1-1 可见/访问性 在同一类中 同一包中 不同包中  同一包子类中  不同包子类中   public  yes  yes  yes  yes  yes   ...

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

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

  3. public,private,protected访问权限在Java,C++中的解析

    Java中: Java中的访问权限有public,private,protected和默认的包访问权限,如果类中的属性方法没有显示的指明访问权限,则具有包访问权限,我喜欢称它为packeged权限,很 ...

  4. java面试题三十 public,private,protected,default访问权限

    1 考题描述: 2 答案 BD 3解析 B. no modifer既为default也就是friendly 3.1 public,private,protected,default访问权限图 3.2证 ...

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

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

  6. 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)

    访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...

  7. C++ 类访问控制public/private/protected探讨

    摘要:本文是从饮水思源BBS C/C++版上一篇帖子引发的思考.当时看到帖子,突然觉得平时见惯了的,在这里似乎变得陌生了,究竟访问控制符怎样起作用,怎样使用,该怎样理解,本文试图给出讨论. 原帖如下 ...

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

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

  9. 类中的关键字public、protected、private究竟是什么意思?

    类中的关键字public.protected.private究竟是什么意思? 这三个关键字用来修饰类中的成员的有效域,即成员在哪个域内是可被调用的.下面我们来仔细说明这句话. 所谓"类中的成 ...

最新文章

  1. mysql查询时强制区分大小写
  2. 根据当前时间如何找到上月的第一天和最后一天?
  3. 转载:比Python快100倍,利用spaCy和Cython实现高速NLP项目
  4. 初作学术论文存在的文献梳理和引文注释问题
  5. java听课笔记(十五)之 网络编程
  6. mac搭建PHP开发环境
  7. 给 asp.net core 写一个简单的健康检查
  8. 类型与通用语言运行时:System.Object
  9. 《3ds Max疯狂设计学院》——1.7节学习3ds Max的基本流程,必须要在最开始就了解...
  10. 美国音乐学院计算机音乐专业排名2015年,美国音乐学院排名
  11. No matter what,just do not give up。
  12. kafka sparksteaming
  13. 移动端电影院社交来啦 约上ta看一场电影
  14. openwrt软路由实现ipv6 nat 上网配置
  15. centos php 开启libgdgd_linux gd
  16. Linux(一):初识ARM Linux
  17. 解决redis 6379本地可以访问,外网却不行
  18. P1460 [USACO2.1]健康的荷斯坦奶牛 Healthy Holsteins
  19. Python.对鸢尾花数据集进行可视化操作,对数据分析
  20. 推荐系统的召回算法(一)—— 协同过滤法(基于用户)

热门文章

  1. 图像分割常见Loss
  2. PTA7-4一帮一 结构体解决
  3. 2012最新password总结,社工你懂得
  4. OPENCV scalar
  5. 通带纹波、阻带纹波、通带最大波纹和阻带最小衰减
  6. 《产品设计与开发(原书第5版)》——2.6 产品开发组织
  7. 每秒1.28万亿行,最快的分布式关系数据库MemSQL又破记录了!
  8. 以matlab为基础数学分析,matlab与数学分析.docx
  9. Bugzilla一些权限设置(bug,项目的权限)
  10. python 离线安装驱动