C++学习Day08之类模板碰到继承的问题以及解决

这篇具有很好参考价值的文章主要介绍了C++学习Day08之类模板碰到继承的问题以及解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、程序及输出

1.1 指定父类T数据类型

必须要指定出父类中的T数据类型,才能给子类分配内存
C++学习Day08之类模板碰到继承的问题以及解决,C++,c++,学习,开发语言
正确使用 :

#include<iostream>
using namespace std;

template<class T>
class Base
{
public:
	Base() {
		cout << typeid(T).name() << endl;
	}
	T m_A;
};

//必须要指定出父类中的T数据类型,才能给子类分配内存
class Son :public Base<int>
{

};
void test01()
{
	Son s1;
}
int main(){
	
	test01();

	system("pause");
	return EXIT_SUCCESS;
}

输出:
C++学习Day08之类模板碰到继承的问题以及解决,C++,c++,学习,开发语言

1.2 子类T指定父类T数据类型

#include<iostream>
using namespace std;
template<class T>
class Base2
{
public:
	Base2() {
	cout << typeid(T).name() << endl;
	}
	T m_A;
};

template<class T1 ,class T2>
class Son2 :public Base2<T2>
{
public:

	Son2()
	{
		cout << typeid(T1).name() << endl;
		cout << typeid(T2).name() << endl;
	}

	T1 m_B;
};
void test02()
{
	Son2 <int, double> s;
}

int main(){
	test02();
	system("pause");
	return EXIT_SUCCESS;
}

输出:
C++学习Day08之类模板碰到继承的问题以及解决,C++,c++,学习,开发语言


二、分析与总结

在类模板碰到继承的问题时,要指定出父类中的T数据类型,才能给子类分配内存文章来源地址https://www.toymoban.com/news/detail-835617.html

到了这里,关于C++学习Day08之类模板碰到继承的问题以及解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++(12) 模板类、模板继承(严格模式和自由模式)

    模版类 1. 模版类 2. 模版参数限制 双重限制 限制外部类型 限制模版类型 3. 模版继承 3.1 严格模式 3.2 自由模式 4. 模版类的模版函数 5. 返回值类型带有模版

    2024年02月22日
    浏览(39)
  • C++ --- Day04 继承

    实现一个图形类(Shape),包含受保护成员属性:周长、面积, 公共成员函数:特殊成员函数书写 定义一个圆形类(Circle),继承自图形类,包含私有属性:半径 公共成员函数:特殊成员函数、以及获取周长、获取面积函数 定义一个矩形类(Rect),继承自图形类,包含私有

    2024年02月09日
    浏览(31)
  • 学习linux命令finalshell使用及所碰到的问题

    推荐看b站视频自己几分钟就能安装好两分半钟完成VMware安装及Linux-Ubuntu安装(全程无废话)_哔哩哔哩_bilibili 这个软件是可以在你winds系统上远程操作Linux,现在大多数人都是使用这个软件来完成linux相关操作的,所以我推荐大家安装上,直接在网页上搜,但是安装这个可能会

    2024年02月02日
    浏览(36)
  • C++中的继承、以及赋值兼容转换。

    一、继承的概念及定义 继承可以使代码复用,允许在保持原有类特性的基础上进行扩展。 举个例子:就好比我现在要封装老师、学生等这些人的属性和方法,但是这些人都有重复的属性和方法,比如name、age、sex等等,那么我可以封装一个人的属性和方法,然后我用老师、学

    2024年02月05日
    浏览(36)
  • python数据分析学习day08:柱状图

    柱状图是一种用矩形柱来表示数据分类的图表。 柱状图可以垂直绘制,也可以水平绘制。 它的高度与其所表示的数值成正比关系。 柱状图显示了不同类别之间的比较关系,图表的水平轴 X 指定被比较的类别,垂直轴 Y 则表示具体的类别值 x 表示x坐标,数据类型为float类型,

    2024年02月09日
    浏览(42)
  • C++继承(2)——赋值转换、隐藏特性以及作用域

    一.子类和父类对象的赋值转换 子类对象赋值父类对象的另外两种方式: 总结: 二.父类与子类的作用域 1. 在继承体系中基类和派生类都有独立的作用域。         例: 2.作用域练习         练习1: 解决方法: 先来看一个案例:变量间的赋值         在上面这个代码

    2024年02月14日
    浏览(45)
  • 学习JavaEE的日子 day14 继承,super(),this(),重写

    理解:子类继承父类所有的属性和方法 使用场景:多个类似的类,有相同的属性和方法,就可以把相同属性和方法抽取到父类 优点:减少代码的冗余; 使类与类之间产生了关系(多态的前提) 缺点:继承会增加类与类之间的关系,会增加代码的维护难度 需求:编写中国人和日

    2024年01月21日
    浏览(54)
  • 【C++初阶(十)】C++模板(进阶) ---非类型模板参数、模板的特化以及模板的分离编译

    本专栏内容为:C++学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C++。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C++ 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识 模板参数可分为类型形参和非类型形参。 类型形

    2024年01月18日
    浏览(38)
  • openmv利用模板匹配+控制舵机来控制小车使P点触碰到靶心

    (注:每行代码的解释均已标注,适合复习使用和openmv新手学习) 定义舵机,servo(1)用的是openmv的p7引脚,servo(2)用的是openmv的p8引脚,servo(3)用的是openmv的p9引脚 设置对应的脉宽,分别对应为:允许的最小脉宽:500、允许的最大脉冲:2500、中心/零位置对应的脉宽:500 pid包的函数

    2024年02月14日
    浏览(41)
  • 【c++】“谁想继承我的花呗-.-“继承的学习

        文章目录 前言 一、继承的语法 二、基类和派生类对象赋值转换 1.例子 2.继承中的作用域 3.派生类的默认成员 4.继承与友元 5.继承与静态成员 6.复杂的菱形继承和菱形虚拟继承 总结   继承 (inheritance)机制是面向对象程序设计 使代码可以复用 的最重要的手段,它允许程序

    2023年04月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包