C++继承与派生——(3)公有继承的访问权限的变化

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
缺乏明确的目标,一生将庸庸碌碌!

一起加油!

        当类的继承方式是公有继承时,基类的公有成员和保护成员被派生类继承后成为派生类的公有成员和保护成员,派生类的成员可以直接访问它们。基类的私有成员虽然被派生类继承下来,但是派生类的成员无法访问它们。基类的公有成员被派生类继承后作为派生类的公有成员,可以被派生类的对象从类外访问。

#include<iostream>
#include<string>
using namespace std;
class Person{private:string name;int age;char sex;public:void setPerson(string pName,int pAge,char pSex){name=pName;age=pAge;sex=pSex;}string getName(){return name;}int getAge(){return age;}char getSex(){return sex;}void print();
}; void Person::print(){cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;
}class Student:public Person{private:int ID;double score;public:Student(string pName,int pAge,char pSex,int pID,double pScore){setPerson(pName,pAge,pSex);ID=pID;score=pScore;}int getID(){return ID;}double getScore(){return score;}void print(); 
};void Student::print(){cout<<"学号:"<<ID<<endl;cout<<"分数:"<<score<<endl; 
}int main(){Student s("李华",18,'F',20230011,95);s.Person::print();s.print();return 0;
}

        通过公有继承方式,基类 Person 中的公有成员 SetStudent( )和 print()被继承后作为派生类公有成员,派生类的成员可以直接访问它们,派生类的对象在类外也可以直接访问它们。通过派生类对象访问公有成员 print 时,要注意派生类重新定义了和基类同名的公有成员函数 print(),因此需要使用域作用运算符进行区分;基类 Person 中的私有成员虽然被派生类继承下来,但是派类新定义的成员不能直接访问他们,必须通过从基类继承过来的成员间接访问。

        以上就是我对C++继承与派生——(3)公有继承的访问权限的变化的理解,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++继承与派生的理解,请持续关注我哦!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux cpu调度分析

一、cpu调度调试方法 echo 0 > /sys/kernel/debug/tracing/tracing_on echo > /sys/kernel/debug/tracing/trace echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb echo nop > /sys/kernel/debug/tracing/current_tracer echo sched_switch sched_wakeup s…

Python 基础面试第三弹

1. 获取当前目录下所有文件名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import os def get_all_files(directory): file_list []<br> # <code>os.walk</code>返回一个生成器&#xff0c;每次迭代时返回当前目录路径、子目录列表和文件列表 for…

闲来无事,使用C++和代理IP采集天气预报信息

目录 一、引言 二、代理IP原理 三、选择合适的代理IP服务 四、C程序实现 五、测试与优化 六、结论 一、引言 在当今的互联网时代&#xff0c;网络信息的获取变得日益重要。天气预报信息作为日常生活的重要参考&#xff0c;其获取方式也随着技术的发展而不断变化。在本文…

JVisualVM工具的使用⭐️并使用自带JDBC监控sql语句执行时间记录

小伙伴们大家好&#xff0c;今天使用了继Jconsole工具之外的另一个JDK自带的性能分析工具 目录 一、JVisualVm 简介 二、使用 三、菜单使用 章末 一、JVisualVm 简介 JVisualVM是Java VisualVM的简称&#xff0c;是一个集成了多个 JDK 自带监控和故障处理工具的图形化工具…

MySQL的替换函数及补全函数的使用

前提&#xff1a; mysql的版本是8.0以下的。不支持树形结构递归查询的。但是&#xff0c;又想实现树形结构的一种思路 提示&#xff1a;如果使用的是MySQL8.0及其以上的&#xff0c;想要实现树形结构&#xff0c;请参考&#xff1a;MySQL数据库中&#xff0c;如何实现递归查询…

基于BaseHTTPRequestHandler的HTTP服务器基础实现

1. BaseHTTPRequestHandler介绍 BaseHTTPRequestHandler是Python中的一个基类&#xff0c;属于http.server模块&#xff0c;用于处理HTTP请求的基本功能。它提供了处理常见HTTP请求方法&#xff08;如GET、POST等&#xff09;的默认实现&#xff0c;并允许你在子类中进行定制化…

2024年【道路运输企业安全生产管理人员】考试题及道路运输企业安全生产管理人员报名考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 道路运输企业安全生产管理人员考试题考前必练&#xff01;安全生产模拟考试一点通每个月更新道路运输企业安全生产管理人员报名考试题目及答案&#xff01;多做几遍&#xff0c;其实通过道路运输企业安全生产管理人员…

day42 1226

作业1&#xff1a; #include <iostream>using namespace std;namespace myspace {string str; }int length(string str) {//char *p &str.at(0);const char *p str.data();int count 0;while (*p ! 0) {p;count;}return count; } int main() {getline(cin,myspac…

2023年数据泄露态势年度报告

为了掌握数据泄露态势&#xff0c;应对日益复杂的安全风险&#xff0c;零零信安基于0.zone安全开源情报系统&#xff0c;发布《数据泄露态势》年度报告。该系统监控范围包括明网、深网、暗网、匿名社群等约10万个威胁源。除此之外还会针对一些典型的数据泄露事件进行抽样事件分…

【HTML5】第2章 HTML5标签和属性

学习目标 掌握文本控制标签的用法&#xff0c;能够使用文本控制标签设置文本样式。 掌握图像标签的用法&#xff0c;能够使用图像标签在网页中嵌入图片。 掌握超链接标签的用法&#xff0c;能够使用超链接实现页面的跳转。 掌握列表标签的用法&#xff0c;能够使用列表标签设…

论文解读--Compressed Sensing for MIMO Radar - Algorithms and Performance

MIMO雷达压缩感知-算法和性能 摘要 压缩感知技术使得利用雷达场景的稀疏性来潜在地提高系统性能成为可能。本文将压缩感知工具应用于MIMO雷达&#xff0c;在方位-距离-多普勒域重构场景。推导了雷达波形和发射、接收阵列的条件&#xff0c;使雷达传感矩阵具有小相干性和稀疏恢…

这是我见过最强的单点登录认证系统!

来源&#xff1a;mp.weixin.qq.com/s/6jXz23nwU… 项目介绍 MaxKey 单点登录认证系统&#xff0c;谐音马克思的钥匙寓意是最大钥匙&#xff0c;支持 OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM 等标准协议&#xff0c;提供简单、标准、安全和开放的用户身份管理(ID…

LeetCode 剑指 Offer II 054. 所有大于等于节点的值之和

给定一个二叉搜索树&#xff0c;请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下&#xff0c;二叉搜索树满足下列约束条件&#xff1a; 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须…

账号和权限管理

大家无论安装完linux系统和windows系统后&#xff0c;都会要求你去新建一个用户去登录&#xff0c;不会让你们直接使用超级管理员身份去登录自己的系统&#xff0c;这样是为了安全性的考虑。 一、用户账号和组账号概述 1、用户账号类型&#xff1a; linux用户账号类型&#x…

redis主从扩容案例

redis3主3从&#xff0c;请参见&#xff1a;https://blog.csdn.net/weixin_49456013/article/details/134930716?spm1001.2014.3001.5501 现在需要进行扩容&#xff0c;变成4主4从&#xff0c;主要步骤如下&#xff1a; 1.新建6387、6388两个节点并启动 docker run -d --na…

DAY1C++

1、思维导图 2.定义自己的命名空间myspace&#xff0c;并在myspace中定义一个字符串&#xff0c;实现求字符串大小的函数。 #include <iostream>using namespace std;namespace myspace{string s1("call your name");int len_s(string s){return s1.length();…

ARM12.26

整理三个按键中断代码 key_it.h #ifndef __KEY_IT_H__ #define __KEY_IT_H__ #include"stm32mp1xx_gpio.h" #include"stm32mp1xx_gic.h" #include"stm32mp1xx_exti.h" #include"stm32mp1xx_rcc.h" #include"led.h" void k…

基于程序UKM_RFDKLI20的信贷释放增强

一、概述 业务背景&#xff0c;项目中&#xff0c;针对信贷控制客户&#xff0c;业务单据在营销中台&#xff08;CRM&#xff09;中处理&#xff0c;但是信贷控制需依托SAP的信贷管理功能&#xff0c;因此功能设计为营销中台创建交货单&#xff0c;并同步至SAP判断信贷&#x…

【支持向量机】SVM线性可分支持向量机学习算法——硬间隔最大化支持向量机及例题详解

支特向量机(support vector machines, SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器。包含线性可分支持向量机、 线性支持向量机、非线性支持向量机。 当训练数据线性可分时&#xff0c;通过硬间隔最大化学习线性分类器&#xff0c; 即为线性…