04模板学习之普通类继承类模板和类模板继承类模板的区别

2023-10-31

04模板学习之普通类继承类模板和类模板继承类模板的区别

1 普通类继承类模板
普通类继承模板时,继承的模板类必须确定类型,否则无法通过编译。因为普通类编译时需要确定基类的类型,而基类却无法确定,所以必定报错。

template<class T>
class Base {
public:
	Base(){}
};

//普通类继承类模板,int必须写,否则报错
class Son :public Base<int> {
public:
	Son(){}
};

在这里插入图片描述

2 类模板继承类模板
类模板继承类模板不像普通类继承类模板那样,不需要写确定的类型,因为类模板继承后仍是类模板,所以只需要写上T类型的即可,以便在被调用时通过子类模板确定基类模板。

template<class T>
class Animal {
public:
	void Jiao() {
		cout << mAge << "岁动物在叫!" << endl;
	}
public:
	T mAge;
};


//类模板继承类模板不需要写确定的类型,只需要写模板的类型即可
template<class T>
class Cat : public Animal<T> {};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

04模板学习之普通类继承类模板和类模板继承类模板的区别 的相关文章

  • 为什么 std::vector 可以处理类定义中的不完整类型?

    出现了以下问题 C 标准似乎说 std vector需要一个完整的类型才能工作 看https en cppreference com w cpp container vector https en cppreference com w cp
  • 如何使用不同的基本路径托管 Blazor WebAssembly 应用程序

    我有一个 Blazor Webassemble NET 托管应用程序 在我们托管它的服务器上 应用程序的基本路径将是mydomain com coolapp 因此 为了尝试让应用程序在服务器上正确呈现 我一直遵循本页 应用程序基本路径 部分
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 每个元素的 asp.net Web 表单自定义错误消息

    我创建了一个 Web 应用程序 表单 以及后端 SQL 插入和查询 目前我正在显示所有用户错误消息 div style padding 1em div
  • 我担心我添加了太多接口

    我正在构建我的领域模型并继续重构它 正如我所做的那样 我发现我喜欢接口 因为它允许我根据接口为具体类型创建可重用的方法 控制器 视图 但是 我发现每次向域实体之一添加新属性时 我都会创建一个接口 例如 我有一个会员状态从抽象继承的对象Ent
  • 如何在 Linux 上重新实现(或包装)系统调用函数?

    假设我想完全接管 open 系统调用 也许要包装实际的系统调用并执行一些日志记录 一种方法是使用 LD PRELOAD http scaryreasoner wordpress com 2007 11 17 using ld preload
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 自己绘制的WPF自定义滑块

    这是我关于堆栈溢出的第一个问题 所以不要踢它 我在尝试创建 Mac 风格的滑块控件时遇到问题 我已经发现这个解决方案 http www codeproject com KB miscctrl MAC Slider aspx我已经在我的解决方
  • 如何在 C++ 中正确使用 cin.fail()

    我正在编写一个程序 从用户那里获取整数输入cin gt gt iUserSel 如果用户输入一个字母 程序就会进入无限循环 我试图用下面的代码来阻止这种情况 但程序进入无限循环并打印出 错误 输入 我该如何修复我的程序 cin gt gt
  • 更改私有模块片段是否会导致模块重新编译?

    On 此页面有关 C 20 模块功能 https www modernescpp com index php c 20 modules private module fragment and header units 我发现了这样的说法 借
  • 如何从 Powerpoint 2010 导出电影?

    如何使用 MS Office PIA 主互操作程序集 或其他方式以编程方式将嵌入视频从 powerpoint 2010 导出到外部文件 在演示文稿中嵌入视频是 Powerpoint 2010 中的一项新功能 我找不到解决方案 PPTX 文件
  • 为什么连续抛出 2 个异常不会生成无法访问的代码警告?

    为什么以下代码行不会创建编译器警告 void Main throw new Exception throw new Exception 据我所知 编译器应该通知您无法到达第二个抛出异常 这显然是一个编译器错误 它是在 C 3 0 中引入的
  • 将 AutomationID 与 ListView 结合使用

    我正在尝试将 AutomationId 附加到列表视图中的项目 理想情况下 将项目名称绑定到显示的项目
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap
  • 为什么存在系统调用

    我一直在阅读有关系统调用及其在 Linux 中如何工作的内容 我还有更多的阅读要做 但我读过的一件事都没有回答 那就是 为什么我们需要系统调用 我知道系统调用是用户空间程序要求内核执行某些操作的请求 但我的问题基本上是 为什么用户空间程序本
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que
  • 将同步 zip 操作转换为异步

    我们有一个现有的库 其中一些方法需要转换为异步方法 但是我不确定如何使用以下方法执行此操作 错误处理已被删除 该方法的目的是压缩文件并将其保存到磁盘 请注意 zip 类不公开任何异步方法 public static bool ZipAndS

随机推荐

  • paddleocr 训练自己的数据,详细笔记

    目录 算法原理 第一步 制作数据集 数据标注工具 可视化标注 一定要制
  • MYSQL数据库部署--5.7版本数据库部署

    目录 MySQL5 7安装 二进制方式安装 一 安装前的准备 二 安装MySQL数据库 1 解压MySQL安装包 2 将解压后的文件拷贝到安装路径下 3 修改文件的权限 4 创建存放data的文件夹 5 在 etc下创建mysql的参数文件
  • Dubbo admin安装教程

    github下载代码 git clone https github com apache dubbo admin git 打包dubbo admin server java jar 运行 想看的界面需要按照nodejs Node js 完成
  • 全面总结: Golang 调用 C/C++,例子式教程

    https www cnblogs com linguanh p 8323487 html 掘金 https juejin im user 587f0dfe128fe100570ce2d8 博客 http www cnblogs com l
  • 2021.12.6—12.11周总结

    1 将数据结构的查找这一章学完了 线性表 顺序 折半 分块 和树表 二叉排序树 平衡二叉树 B 树和B 树 哈希表 的查找 2 前端的期末作品肝完了 三四天 基本上来说 后续有空应该会继续完善 3 写算法题 准备蓝桥杯吧 虽然过不了 还是去
  • 盒子集成weith,不继承height

    div class fa div class son 111 div div
  • 毕业设计-基于机器学习的短期负荷预测算法

    目录 前言 课题背景和意义 实现技术思路 一 电力负荷预测 二 典型负荷预测算法 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求
  • GO如何编写一个 Worker Pool

    作者 JustLorain https juejin cn post 7244733519948333111 前言 池化技术是一种资源管理技术 它通过提前创建和维护一组可重用的资源实例池 以便在需要时快速分配和回收这些资源 协程 gorou
  • java远程关机_java远程开关机

    packagetestFrame importjava awt Color importjava awt Font importjava awt event ActionEvent importjava awt event ActionLi
  • 关于STM32 下载程序下方提示internal command error的解决办法

    最近在调试一块板子 使用的是STM32CubeMx生成 结果发现 自己在烧写程序完成后 再次烧写就无法烧写成功 一直提示No Target connect 后在bulid output中发现了一个问题 在bulid output下方提示in
  • Memcache图形化管理工具MemAdmin

    1 美图 2 概述 下面给大家介绍一款 memcache图形化管理工具 MemAdmin 下载地址 http www junopen com memadmin MemAdmin是一款可视化的Memcached管理与监控工具 使用PHP开发
  • python网络爬虫之Max retries exceeded with url错误

    ConnectionError HTTPSConnectionPool host cq feibaos com port 443 Max retries exceeded with url news lists notice html re
  • IDEA导入本地项目

    1 文件 New Model from Existing Sources 2 选中需要导入的项目 3 选择maven文件选项 从外部模型导入模块 Idea本地项目部署路径 IDEA不会把你的项目部署到你的Tomcat安装目录 它会在操作系统
  • Weblogic SSRF漏洞

    1 漏洞描述 weblogic中存在SSRF漏洞 利用该漏洞可以发送任意HTTP请求 进而攻击内网中redis fastcgi等脆弱组件 2 影响版本 weblogic 10 0 2 10 3 6版本 3 POC http 192 168
  • 深入理解数据结构——堆栈的基本操作

    include
  • 版本号命名指南

    首先看看某些常见软件的版本号 Linux Kernel 0 0 1 1 0 0 2 6 32 3 0 18 若用 X Y Z 表示 则偶数 Y 表示稳定版本 奇数 Y 表示开发版本 Windows windows 98 windows 20
  • getopt_long 函数的使用

    getopt long 函数的使用网上已经有很多了 这里只是记录一下方便自己后续查找 首先函数原型声明 include
  • 情境领导者-第七章、解决绩效问题

    情境领导者 第七章 解决绩效问题 故事 总经理 并非如此 是什么意思 罗杰斯 一旦我能够使人们独立完成工作并有良好的工作业绩 而且他们能保持这个状态 那就很了不起了 总经理 这也会是你的工作变得更容易对吧 罗杰斯 的确会使我的工作变得容易些
  • ExtJs 动态添加组件

    function createComBox id name var c new Ext form ComboBox mode local forceSelection true triggerAction all displayField
  • 04模板学习之普通类继承类模板和类模板继承类模板的区别

    04模板学习之普通类继承类模板和类模板继承类模板的区别 1 普通类继承类模板 普通类继承模板时 继承的模板类必须确定类型 否则无法通过编译 因为普通类编译时需要确定基类的类型 而基类却无法确定 所以必定报错 template