C++ public、protected 、 private使用详解

2023-11-09

1、类私有成员变量的访问:必须调用类成员函数来进行访问;
    对于protected成员,继承他的类可以直接在成员函数中调用,而对于私有成员,继承他的类要使用他们的值必须使用基类的成员函数


2、protected成员
   基类对象不能调用自身protected成员,可以通过调用public成员,间接调用protected成员;
   基类:通过基类的成员函数访问protected成员;
   子类:可以在子类的成员函数中直接调用。

3、子类访问父类的私有成员的两种方式:
   (1) 通过父类的公有成员函数;
   (2) 将私有成员改为保护成员protected   
   
4、子类构造函数的初始化
    调用父类的构造函数实现初始化,即父类的成员变量的初始化交给父类。

5、虚继承
   一个父类有多个子类需要虚继承,关键字virtual

6、多继承
一个子类可以有多个父类,它继承了多个父类的特性。

7、this指针:每一个对象都隐式地包含一个指针,指向对象自身;
   当对象调用成员函数时,会默认将对象自身传递给该函数,在函数体内不直接使用对象名,而是
   使用this指针,即this指针指向该对象(调用者)。

C++ public、protected 、 private和friend(最通俗易懂):https://blog.csdn.net/a3192048/article/details/82191795 

深入理解C++中public、protected及private用法:https://www.cnblogs.com/tsingke/p/10052445.html

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ public、protected 、 private使用详解 的相关文章

随机推荐

  • GPU版本安装Pytorch教程最新方法

    目录 步骤 第一步 安装 Anaconda 和 Pycharm 软件 第二步 下载安装CUDA11 3 1 首先查看自己电脑GPU版本 方式一 搜索框输入nvidia 打开nvidia控制面板 方式二 win R打开cmd 输入nvidia
  • ubuntu的FTP服务器搭建

    1 安装服务器 sudo apt get install vsftpd 如果有错误 先执行 apt update 2 创建用户 Linux下的用户 创建专用目录 mkdir home ftp 命令添加ftp用户 sudo useradd d
  • 基于tiny6410的led驱动程序

    今天弄了一个晚上了 终于弄懂了第一个简单的linux驱动感觉很多人编写的第一个驱动也是拿led开刀的吧 本文的led驱动是基于tiny6410的四个led驱动 用字符设备的驱动模块 而不是混杂设备驱动模块来编写 本人在使用混杂设备方法编写的
  • 5735. 雪糕的最大数量

    夏日炎炎 小男孩 Tony 想买一些雪糕消消暑 商店中新到 n 支雪糕 用长度为 n 的数组 costs 表示雪糕的定价 其中 costs i 表示第 i 支雪糕的现金价格 Tony 一共有 coins 现金可以用于消费 他想要买尽可能多的
  • pyspark指定schema

    通过StructType对象指定DataFrame的Schema 没有嵌套结构的json jsonString id 01001 city AGAWAM pop 15338 state MA id 01002 city CUSHMAN po
  • r语言 col_co,cob,col,con,cor,cog前缀其实都是com变化而已

    c开头前缀有co cob col com con cor cog等 哪它们有什么关联呢 下面我们来分析 come 英 k m 美 k m v 来 来到 到达 com前缀可以看成come变化而成 全部来到就是聚集到一起 表聚集 加强 强调的
  • select函数使用浅析

    一 函数原型及参数说明 int select int maxfdp fd set readfds fd set writefds fd set errorfds struct timeval timeout 返回值 负值 select错误
  • VIM-Plug安装插件时,频繁更新失败,或报端口443被拒绝

    安装vim插件 tabular时候一直报错 尝试了网上大部分办法 全部失败 方法 直接按照报错的内容自己手动操作 错误如下图 第一步 去github检查插件的网址有没有问题 直接复制网址浏览器搜索 若长时间加载不上 使用科学上网 第二步 若
  • 重写equals方法

    重写equals方法 相信在每个人都有过重写过java的equals的方法的经历 这篇博文就从以下几个方面说明重写equals方法的原由 与君共进步 一 为什么要重写equals方法 首先我们了解equals方法的作用是什么 java的官方
  • [论文笔记] GENDA: A Graph Embedded Network Based Detection Approach on encryption algorithm

    GENDA A Graph Embedded Network Based Detection Approach on encryption algorithm of binary program JISA 2022 Xiao Li Scho
  • 关闭apache-httpClient日志遇到的坑

    log4j logger org OFF log4j logger httpclient OFF 看org apache commons httpclient Wire源码才知道他没有遵循类名 httpclient wire public
  • requests、aiohttp、httpx性能大比拼

    在Python中 有许多用于发送HTTP请求的库 其中最受欢迎的是requests aiohttp和httpx 这三个库的性能和功能各不相同 因此在选择使用哪个库时 需要考虑到自己的需求和应用场景 首先 让我们来了解一下这三个库的基本介绍
  • 科技,让二次元老婆动起来

    想让你的二次元老婆动起来吗 前不久 Meta 也就是Facebook 发布了一款有趣的AI工具Animated Drawings 它可以让静态的儿童画动起来 有些懂行的朋友一看就说 哎呀这不就是关键点检测再加动态化嘛 道理是这个道理 但是儿
  • MYSQl:关于AUTO_INCREMENT

    auto increment是用于主键自动增长的 从1开始增长 当你把第一条记录删除时 再插入第二条数据时 主键值是2 不是1 问题来源 拷贝了公司项目的regions表 发现建表的sql语句如下 CREATE TABLE es regio
  • 两数求最大值 和 交换两个数字

    两数求最大值 include
  • 将图片进行base64 编码后的数据进行读取,以io流的方式传给前台并显示出来并且不断刷新图片

    前提摘要 最近做一个项目 是关于slam的 给slam发送构建地图的命令 slam不断返回json串 而地图的图片在json串中已经经过base64编码了 我这边需要将base64编码解析并以流的方式传给前台显示出来 但是消息是不断要接收的
  • 支付结算周期:D0 D1 T0 T1的区别

    D0 自然日当天 D1 自然日第二天 T0 工作日当天 T1 工作日第二天 D0和T0的区别 比如说 星期六做的交易 D0因为是自然日当天 所以周六即可到账 T0因为是工作日当天 所以下周一可到账
  • 在Windows10下配置深度学习环境(tensorflow-gpu + CUDA & CUDNN),十分详细,推荐小白食用

    在Windows10下配置深度学习环境 tensorflow gpu CUDA CUDNN 本文的基础建立在DUT汽院515教研室的师兄的教程之上 由本人总结更新 希望能帮到更多人 十分感谢师兄们的付出 CUDA的配置 请参考本人的另一篇文
  • 基于LSTM的情感识别在鹅漫评论分析中的实践与应用

    深度学习 深度神经网络 作为机器学习的一个重要分支 持续推动了很多领域的研究和应用取得新的进展 其中包括文本处理领域的情感分类问题 由于可以对文本进行更有效的编码及表达 基于深度学习的情感分类对比传统的浅层机器学习和统计学方法 可以取得更高
  • C++ public、protected 、 private使用详解

    1 类私有成员变量的访问 必须调用类成员函数来进行访问 对于protected成员 继承他的类可以直接在成员函数中调用 而对于私有成员 继承他的类要使用他们的值必须使用基类的成员函数 2 protected成员 基类对象不能调用自身prot