继承中类的作用域

news/2024/11/29 2:47:34/

继承中类的作用域

Bulk_quote bulk;
cout<<bulk.isbn();class Disc_quote : public Quote{public:std::pair<size_t,double> discount_policy() const{ return {quantity,discount};}//其他成员与之前版本一致
};Bulk_quote bulk;   
Bulk_quote *bulkP = &bulk;   //静态类型与动态类型一致
Quote *itemP = &bulk;       //静态类型与动态类型不一致
bulkP->discount_policy();   //正确:bulkP的类型是Bulk_quote*
itemP->discount_policy();   //错误:itemP的类型是Quote*

名字冲突与继承

struct Base{Base():mem(0){}protected:int mem;
};
struct Derived : Base{Derived(int i) : mem(i){}   //用i初始化Derived::mem//Base::mem进行默认初始化int get_mem(){return mem;}  //返回Derived::memprotected:int mem;    //隐藏基类中的mem
};Derived d(42);
cout<<d.get_mem()<<endl;    //打印42

派生类的成员将隐藏同名的基类成员

通过作用域运算符来使用隐藏的成员

struct Derived : Base{int get_base_mem(){return Base::mem;}
};

名字查找先于类型查找

struct Base{int memfcn();
};
struct Derived : Base{int memfcn(int);    //隐藏基类的memfcn
};
Derived d;Base b;
b.memfcn(); //调用Base::memfcn
d.memfcn(10);   //调用Derived::memfcn
d.memfcn(); //错误:参数列表为空的memfcn被隐藏了
d.Base::memfcn();   //正确:调用Base::memfcn

http://www.ppmy.cn/news/979160.html

相关文章

计算机流水线在正常程序中的体现(效果可视)

众所周知,流水线技术对于软件开发人员不是可见的(visiable),毕竟已经在在机器语言之下,是组成机器语言的基本逻辑 但今天我就带领大家看看我新发现的结果,那就是流水线的可视效果,包括流水线预测技术的侧面体现,当然也是可见的 首先我先声明一下需要的基础,需要懂16位以及32位操…

JavaScript学习 -- Base64编码

Base64编码是一种常用的将二进制数据转换为文本数据的方式。在JavaScript中&#xff0c;我们可以通过使用Base64编码算法&#xff0c;将二进制数据转换为可读的文本数据&#xff0c;以便于在网络传输、文件传输等场景下使用。在本篇博客中&#xff0c;我们将介绍Base64编码的基…

vue全局字体不生效的问题

今天接手了一个新项目&#xff0c;在熟悉项目的时候&#xff0c;意外发现&#xff0c;网站的字体和设计稿上的字体不一样。 于是查看一番之后&#xff0c;发现引入字体的方式错了。 原代码是这样的&#xff1a; body {font-family: HONORSansCN-DemiBold, HONORSansCN;font-…

如何轻松获取短视频资源?

短视频里面的素材其实主要包含三大部分&#xff1a; 拍摄的原创素材&#xff1a;比如情节剧、风景视频、知识百科、热门解说、便装、美妆、vlog等视频需要使用的素材 二次创作的素材&#xff1a;比如影视剪辑视频、鬼畜视频、文史解说等内容需要使用的素材 特效素材&#xf…

右击不显示TortoiseGit图标处理方法

第一种 右键--》TortoiseGIt--》setting--》Icon Overlays--》Status cache&#xff0c;按照下图设置&#xff0c;然后重启电脑。 第二种 进入注册信息&#xff0c;按照步骤找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIden…

pytorch安装GPU版本 (Cuda12.1)教程: Windows、Mac和Linux系统下GPU版PyTorch(CUDA 12.1)快速安装

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

Spring Boot 日志文件有什么用

目录 一、自定义打印日志 1.1 日志框架说明 1.2 实现自定义打印日志 1.3 日志的格式说明 2.1 日志的级别 2.2 设置日志级别的作用&#xff1a; 2.3 如何设置日志的级别 二、 日志的持久化 3.1 设置日志保存路径 &#xff08;在 .yml 配置文件中设置日志保存路径&…

ipvs 原理解析(二)netfilter hook

文章目录 netfilter hook netfilter hook 在 __ipvs_vs_init 中有通过 nf_register_net_hooks 注册 hook 函数到 netfilter 框架 如 ipv4 下的 static const struct nf_hook_ops ip_vs_ops[] {/* After packet filtering, change source only for VS/NAT */{.hook ip_vs_…