学习处理模板化基类内的名称

直接以一段代码来解释

class companyA
{
public:void sendMsgA();void sendMsgB();...
};
class companyB
{
public:void sendMsgA();void sendMsgB();
}
class companyC
{
public:void sendMsgB();
}
class MsgInfo {...};
template <typename Company>
class MsgSender
{
public:void sendMsg(const MsgInfo& info){std::string msg;Company c;c.sendMsgA(msg);//这句话没有问题,将根据sendMsgA具现话。}}
template <typename Company>
class LoggingMsgSender:public MsgSender<Company>
{
public:void sendMyMsg(const MsgInfo& info){//sendMsgA(msg);//编译不过,因为并不知道Company并没有具现话,不一定提供SendMsgAthis->sendMsgA(msg);//加上this指针,假设函数被继承}}

模板基类,编译器不会主动到基类去查找名称,需要显示调用this指针。

effective C++条款四十三解读相关推荐

  1. Effective C++条款(第三版-侯杰译)

    条款一:视C++为一个语言联邦 [C++高效编程守则视情况而变化,取决于你使用的C++哪一部分] 条款二:尽量以const,enum,inline替换#define [对于单纯变量,最好以const对 ...

  2. SD卡实验_STM32F1开发指南_第四十三章

                                                           第四十三章 SD卡实验 序言: 战舰STM32F103自带了标准的SD卡接口,使用STM3 ...

  3. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

  4. 四十三、深入Java中的数组流,数据流和对象流操作

    @Author:Runsen @Date:2020/6/8 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  5. effective c++条款11扩展——关于拷贝构造函数和赋值运算符

    effective c++条款11扩展--关于拷贝构造函数和赋值运算符 作者:冯明德 重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符. 以下讨论中将用到的例 ...

  6. 第四十三篇 面向对象进阶2

    目录 第四十三篇 面向对象进阶2 一.类的封装 1.封装分为两个层面 2.应用 二.类的property特性 1. BMI(Body Mass Index):身体体质指数 2.装饰器用法(只在Pyth ...

  7. JavaScript学习(四十三)—构造方法创建对象的图解和注意事项

    JavaScript学习(四十三)-构造方法创建对象的图解和注意事项 一.构造放法创建对象 之所以用构造放法创建对象就是为了解决工厂模式不能识别对象类型的问题.构造方法也可以被称为构造器,他的本质也是 ...

  8. 【正点原子MP157连载】第四十三章 外置RTC芯片PCF8563实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  9. 【Visual C++】游戏开发笔记四十三 浅墨DirectX教程十一 为三维世界添彩:纹理映射技术(二)...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 作者:毛星云(浅墨)    邮箱: happylifemxy@163.com 本篇文章里,我们首先对Direct3D之中固定功能流水线中的 ...

最新文章

  1. 聊聊flink Table的groupBy操作
  2. 关于 eclipse 插件JsonEditorPlugin-0.9.4安装与使用
  3. Apache Httpd常用命令
  4. Open SAP 上 SAP Fiori Elements 公开课第一单元学习笔记
  5. 如何把SAP UI5应用部署到SAP云平台的Fiori Launchpad里去
  6. 某著名公司2015暑期实习招聘试题及相关内容复习
  7. homebrew安装mysql
  8. 3-1:类与对象入门——类的引入和类的定义以及访问限定符和封装还有对面向对象的理解
  9. java 识别手机_java – 如何识别手机闲置?
  10. 带绿色箭头指示的滑动门DIV效果
  11. 非参数统计单样本非参数检验之符号检验
  12. SIR传染病模型(微分方程系列1)
  13. 有道词典【输入式翻页】
  14. 阿里Java技术架构师教你如何写好你的技术简历,附简历模板、学习资料
  15. TCSVT论文结构整理
  16. 【xubuntu】 在xubuntu系统上开启自动登陆,并自动启动一个应用程序。
  17. C#中的Socket
  18. elementUI设置标签页
  19. SpringBoot进阶教程(七十三)整合elasticsearch
  20. 部署开源LWM2M服务器 leshan

热门文章

  1. 磁盘分析软件(C盘爆满精确清理必备)---SpaceSniffer
  2. 充电1分钟续航800km?揭秘菲斯科固态电池“神话”
  3. 小宝贝流鼻血,治疗方法
  4. Pycharm 一键加引号、批量加引号
  5. 学计算机当导演吗,学计算机8年 80岁老荣民当“导演”
  6. 抓取猫眼电影实时数据
  7. 公司邮箱一般是什么邮箱?专业的电子邮件可以事半功倍
  8. arm汇编标号globl和word解释
  9. google 浏览器钉钉日志异常
  10. 下载n站本子的 node.js 脚本