基类的友元类,可以访问其派生类的私有虚函数

        我们知道一个基类的友元类,并不是其派生类的友元类 ,但是一个基类的友元类,可以访问其派生类的虚函数,而不受访问限制

#include <iostream> class Base{friend class Test;	  //基类的友元类Testvirtual void f() = 0; //虚函数 
public:virtual ~Base() {  }  //虚析构
};class Derived:public Base{virtual void f(){ std::cout << "class Derived"; }
};class Test{Base* bp;
public:Test(Base* bp):bp(bp) { }~Test(){ delete bp; }void f(){ bp->f(); } //Test类只是基类友元类//通过基类指针访问派生类的虚函数,不受访问限制
};int main()
{		Test t( new Derived() );	t.f();return 0;
}

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

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

相关文章

2023年全国职业院校技能大赛应用软件系统开发赛项(高职组)赛题第6套

竞赛说明 一、项目背景 党的二十大报告指出&#xff0c;要加快建设制造强国、数字中国&#xff0c;推动制造业高端化、智能化、绿色化发展。《IDC中国制造企业调研报告&#xff0c;2021》报告指出&#xff0c;制造执行系统&#xff08;MES&#xff0c;Manufacturing Executio…

Ubuntu下git提示:终止提交因为提交说明为空。

这么简单的问题居然搜索了一会儿&#xff0c;现在的网络环境越来越差了。 解决方法&#xff1a; gedit: git config --global core.editor "gedit -s" the paramater "-s " means set the gedit mode to "standalone" Sublime Text 2 git …

GitHub Copilot的使用方法和快捷按键

GitHub Copilot是GitHub与OpenAI合作开发的一款人工智能编码助手。它基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型&#xff0c;可以为你提供代码补全、建议和生成的功能 使用方法&#xff1a; 安装插件&#xff1a; 首先&#xff0c;确保你的开发环…

[redis] redis的安装,配置与简单操作

一、缓存的相关知识 1.1 缓存的概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度&#xff0c;在中间对速度较慢的一方起到加速作用&#xff0c;比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据&#xff0c;内存是保存CPU经常访问硬盘的数据&#xff0c;而且…

LeetCode讲解篇之39. 组合总和

文章目录 题目描述题解思路题解代码 题目描述 题解思路 首先排序数组&#xff0c;然后开始选择数字&#xff0c;当选择数字num后&#xff0c;在去选择大于等于num的合法数字&#xff0c;计算过程中的数字和&#xff0c;直到选数字和等于target, 加入结果集&#xff0c;若数字和…

rhel 9 安装 nginx

1.首先在以下目录添加nginx源&#xff0c;nginx源在nginx官网可以下载。 /etc/yum.repos.d2.其次yum更新缓存 yum makecache3.接着安装nginx sudo yum install nginx4.附件nginx 1.24源&#xff0c;文件名为nginx.repo [nginx-stable] namenginx stable repo baseurlhttp:/…

AttributeError: module ‘cv2‘ has no attribute ‘SIFT‘解决总结

遇到该问题时&#xff0c;网友多是建议补个包&#xff0c;即pip install opencv-contrib-python 我在补完之后又出现下面这样的错误&#xff1a; OpenCV(3.4.3) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\sift.cpp:1207: error: (-213:The function/f…

关于镜头选型时的一些注意事项

1、问题背景 最近的项目调试过程中&#xff0c;遇到与镜头相关的问题比较多。所以本文主要总结一下镜头选型时需注意的事项&#xff0c;保证在项目前期就能规避掉一些问题&#xff0c;避免项目延期。 2、问题分析 我们拿到手的一般都是摄像头模组&#xff0c;在进行摄像头调试时…

JsonPath

JsonPath是一种用于处理JSON数据的查询语言&#xff0c;它允许你通过路径表达式在JSON文档中查找和访问节点。JsonPath的语法相对简单&#xff0c;采用了开发语言友好的表达式形式。它将JSON数据转换为DOM树状结构&#xff0c;并提供在数据结构树中寻找节点的能力。 JsonPath的…

114.QTimer类和QWidget类

目录 一、QTimer类 定时器使用举例&#xff1a; 二、QWidget类 2.1设置父对象 2.2窗口位置 2.3窗口尺寸 2.4窗口标题和图标 2.5信号 2.6槽函数 示例代码&#xff1a; 一、QTimer类 QTimer 是 Qt 中用于实现定时器的类。它可以在一定的时间间隔内发射信号&#xff0c;…

品牌帮助中心:提升企业客户服务水平与效率的实用指南

什么是品牌帮助中心&#xff1f;简单来理解&#xff0c;他就是一种加速问题解决效率的方式&#xff0c;是通过在官网设置文章库或者社区的形式&#xff0c;为客户提供自助服务&#xff0c;自我查找问题答案。是一种既能提升问题解决效率&#xff0c;又能提升品牌形象的方式。接…

Java-文件操作-FAQ-新建文件

1 需求 需求1&#xff1a;如果文件存在&#xff0c;先删除文件&#xff0c;再新建文件&#xff1b; 2 接口 File类 createNewFile()FileWriter类 public FileWriter(String fileName)public FileWriter(String fileName, boolean append) 3.X 示例&#xff1a;File类新建文件…

8年经验分享:想要成为一名合格的软件测试工程师,你得会些啥?

对于很多新入行或者打算入行&#xff0c;成为软件测试工程师的小伙伴来说&#xff0c;刚开始接触这行&#xff0c;不知道自己究竟该学些什么&#xff0c;或者不知道必须掌握哪些知识&#xff0c;才能成为一名合格的测试工程师。 根据笔者观点&#xff0c;如果你能在学习过程中&…

机器学习第二十五周周报 ConvLSTM

文章目录 week 25 ConvLSTM摘要Abstract一、李宏毅机器学习二、文献阅读1. 题目2. abstract3. 网络架构3.1降水预报问题的建模3.2Convolutional LSTM3.3编码-预测结构 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1Moving-MNIST Dataset4.3.2雷达回波数据集 4.4 结论…

C //练习 4-3 在有了基本框架后,对计算器程序进行扩充就比较简单了。在该程序中加入取模(%)运算符,并注意考虑负数的情况。

C程序设计语言 &#xff08;第二版&#xff09; 练习 4-3 练习 4-3 在有了基本框架后&#xff0c;对计算器程序进行扩充就比较简单了。在该程序中加入取模(%)运算符&#xff0c;并注意考虑负数的情况。 注意&#xff1a;代码在win32控制台运行&#xff0c;在不同的IDE环境下&…

【自控实验】4. 数字仿真实验

本科课程实验报告&#xff0c;有太多公式和图片了&#xff0c;干脆直接转成图片了 仅分享和记录&#xff0c;不保证全对 使用matlab中的simulink进行仿真 实验内容 线性连续控制系统的数字仿真 根据开环传递函数G(S)的不同&#xff0c;完成两个线性连续控制系统的仿真。 …

Java-网络爬虫(三)

文章目录 前言一、爬虫的分类二、跳转页面的爬取三、网页去重四、综合案例1. 案例三 上篇&#xff1a;Java-网络爬虫(二) 前言 上篇文章介绍了 webMagic&#xff0c;通过一个简单的入门案例&#xff0c;对 webMagic 的核心对象和四大组件都做了简要的说明&#xff0c;以下内容…

突然又对 Go 感兴趣,GOPATH entry cannot start with shell metacharacter 错误

打发无聊时间&#xff0c;水文一篇&#xff5e; 事情是这样的&#xff0c;因为我们上架的渠道包基本是定制化混淆出包&#xff0c; 混淆出包有一个关键点就是指定映射文件&#xff0c;映射文件的内容有一部分是使用外部工具在打包前按照一定规律随机生成包名、类名&#xff0c…

用通俗易懂的方式讲解:如何用大语言模型构建一个知识问答系统

传统搜索系统基于关键字匹配&#xff0c;在面向&#xff1a;游戏攻略、技术图谱、知识库等业务场景时&#xff0c;缺少对用户问题理解和答案二次处理能力。 本文探索使用大语言模型&#xff08;Large Language Model, LLM&#xff09;&#xff0c;通过其对自然语言理解和生成的…

Python+Selenium做自动化测试(超详细整理)

一、项目介绍 目的 测试某官方网站登录功能模块可以正常使用【文末有配套视频教程和免费的资料文档领取】 用例 1.输入格式正确的用户名和正确的密码&#xff0c;验证是否登录成功&#xff1b; 2.输入格式正确的用户名和不正确的密码&#xff0c;验证是否登录失败&#xff…