模板类与继承

news/2026/1/27 11:45:25/文章来源:https://www.cnblogs.com/tkgg/p/19537475

模板类与继承

//1.模板类继承普通类

class A
{
public:
int m_a;
A(int a) :m_a(a)
{
std::cout << "普通类A的构造函数" << std::endl;
}
};

template
class B:public A //这里模板类继承普通类A 因为普通类A没有定义默认无参构造函数 ,所以这里只要把基类的构造函数参数传递好就行了
{
public:
T m_b;
B(T b,int a):A(a),m_b(b)//传递参数a给基类构造函数
{
std::cout << "模板类B的构造函数" << std::endl;
}
};
//-----------------------------------------------------------------------

include

//4.模板类继承模板类

template
class B
{
public:
TB m_b;
B(TB b):m_b(b)//传递参数a给基类构造函数
{
std::cout << "模板类B的构造函数->" <<m_b<< std::endl;
}
};

//原模板类 A 的模板类型为template 要继承模板类B 只需将类B的模模参数添加上 再将类B的构造函数参数传递好就行了.
template<class TA, class TB>
class A:public B
{
public:
TA m_a;
A(TA a,TB b) :B(b),m_a(a) //注意这里调用基类构造函数时 类B为模板类 所以他的实际类型为B
{
std::cout << "普通类A的构造函数->" << m_a << std::endl;
}
};

int main()
{
A<int,std::string> a(10, "我是模板类的参数"); //这里创建对像时 一定要将自身的模板类型和基类的模板类型 显示定义
return 0;
}

int main()
{
B b(10,1);
return 0;
}
//----------------------------------------------------------------

include

//2.普通类继承模板类的具体化版本

template
class B
{
public:
T m_b;
B(T b):m_b(b)//传递参数a给基类构造函数
{
std::cout << "模板类B的构造函数" <<m_b<< std::endl;
}
};

class A:public B
{
public:
int m_a;
A(int a,int b) :B(b),m_a(a)
{
std::cout << "普通类A的构造函数" << m_a << std::endl;
}
};

int main()
{
A a(10, 1);
return 0;
}

//-----------------------------------------------------------------------

include

//3.普通类继承模板类的完全模板化版本

template
class B
{
public:
T m_b;
B(T b):m_b(b)//传递参数a给基类构造函数
{
std::cout << "模板类B的构造函数->" <<m_b<< std::endl;
}
};

//这里因为普通类要继承模版类模板化 就要先定义一个基类一样的类模板
template
class A:public B
{
public:
int m_a;
A(int a,T b) :B(b),m_a(a) //注意这里调用基类构造函数时 类B为模板类 所以他的实际类型为B
{
std::cout << "普通类A的构造函数->" << m_a << std::endl;
}
};

int main()
{
A a(10, "我是模板类的参数");
return 0;
}

//-----------------------------------------------------------------------

include

//5.模板类继承模板参数给出的基类

class A
{
public:
int m_a;
A(int a) :m_a(a)
{
std::cout << "普通类A的构造函数->" << m_a << std::endl;
}
};

template
class B
{
public:
TB m_b;
B(TB b) :m_b(b)
{
std::cout << "模板类B的构造函数->" << m_b << std::endl;
}
};

template
class C :public T //注意 这里 基类 用模板定义
{
public:
int m_c;
C(int c):T(c),m_c(c) //这里用模板T 来调用基类构造函数
{
std::cout << "类C的构造函数->" << m_c << std::endl;
}
};

template <class TD,class T,class TT>
class D :public T //注意 这里 基类 用模板定义 自身又是一个模板类
{
public:
TD m_d;
D(TD d,TT tt) :T(tt), m_d(d) //这里用模板T 来调用基类构造函数
{
std::cout << "模板类D的构造函数->" << m_d << std::endl;
}
};

int main()
{
C e1(1);
C<B> e2(48);
D<int,B
std::string,std::string> d1(1,"我是一个字符串");
return 0;
}

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

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

相关文章

香辣曹氏鸭脖加盟 特色卤味投资优选

香辣曹氏鸭脖加盟 特色卤味投资优选一、卤味赛道的投资痛点与机遇据《2026中国卤味休闲食品行业发展白皮书》数据显示,国内卤味市场规模已突破1500亿元,年复合增长率保持在12%以上,成为餐饮创业领域的热门赛道。然而…

湘攸大碗菜基本信息有哪些,价格是否实惠

在中山坦洲的餐饮圈里,想找一家地道的攸县湘菜,不少食客都会提到中山市坦洲镇乡富餐饮店。这家店主打攸县大碗菜,凭借正宗的口味和贴心的服务,成了当地不少人聚餐的。下面,我们就围绕湘攸大碗菜餐厅概况、大碗菜基…

2026年海南监理公司推荐:数字化趋势下监理服务排名,涵盖基建与更新场景技术痛点

摘要 在海南自贸港建设持续深化与基础设施投资加码的宏观背景下,建设工程项目的规模与复杂性显著提升,对工程监理服务的专业化、精细化与数字化水平提出了前所未有的要求。项目业主与投资方普遍面临核心焦虑:如何在…

剖析深圳迷你仓库,能存放酒类的仓库口碑哪家好

2025年城市空间需求持续增长,自助仓储与迷你仓服务已成为家庭与企业释放空间压力、提升资源利用效率的核心支撑。无论是小户型家庭的换季收纳、企业客户的文件周转,还是个人用户的搬家过渡存储,优质服务商的专业能力…

AI智赋筑台兴产|千匠网络——专业产业电商平台开发服务商

在数字经济与实体经济深度融合的浪潮中,产业电商已成为传统产业数字化转型的核心抓手,而专业的产业电商平台,则是企业打通上下游链路、激活产业协同效能的关键载体。面对企业在产业电商平台开发中存在的技术薄弱、场…

2026年推拉门定制靠谱厂家排名,南昌口碑好的品牌推荐

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家推拉门定制标杆企业,为经销商、装修公司及家装业主选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:江西美诺客门窗有限公司 推荐指数:★★★★…

设计模式学习(21) 23-19 备忘录模式

文章目录 0. 个人感悟1. 概念2. 适配场景2.1 适合的场景2.2 常见场景举例 3. 实现方法3.1 实现思路3.2 UML类图3.3 代码示例 4. 优缺点4.1 优点4.2 缺点 5. 源码分析5.1 Java Swing中的UndoManager 0. 个人感悟 备忘录模式的场景也比较专。适合进行备份、恢复模式优点很明显&a…

d3dcompiler_47.dll缺失怎么修复 免费下载文件方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

【Django毕设全套源码+文档】基于Django框架的贵州特色产品销售平台的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

VSCode 附加进程调试完整指南

目录 概述附加调试 vs 启动调试配置说明使用方法常见场景调试技巧故障排除 概述 附加进程调试&#xff08;Attach Debugging&#xff09;是一种强大的调试技术&#xff0c;允许调试器附加到已经运行的进程上&#xff0c;而不需要从调试器启动程序。这在以下场景特别有用&…

2026年中国留学生求职机构推荐:行业应用深度评测直击适配与内推关键痛点

摘要 在全球化人才流动与国内就业市场竞争加剧的双重背景下,中国留学生群体正面临前所未有的职业发展抉择。无论是寻求在留学地积累国际经验,还是规划学成归国发展,如何精准对接目标企业与岗位,已成为横亘在数十万…

2026年行业内优秀的冷却塔品牌怎么选,玻璃钢冷却塔/冷却塔/工业冷却塔/圆形逆流冷却塔,冷却塔制造厂家排行榜

随着工业4.0与“双碳”目标的推进,冷却塔作为工业循环水系统的核心设备,其技术迭代与服务质量直接影响企业的能耗成本与生产效率。当前,市场对冷却塔的需求已从单一降温功能转向高效节能、低噪环保、智能运维的综合…

实验台哪家强?五大口碑品牌深度解析,总有一款适配你的科研需求

实验台作为实验室的核心基础设施,是保障科研、检测、教学工作高效开展的“基石”,其品质直接关乎实验安全、数据准确性与长期使用成本。随着国内科研投入加码、实验室合规要求升级,市场对实验台的智能化、环保性、定…

五恒系统厂商推荐,性价比高的公司有哪些?

随着人们对居住舒适度要求的不断提升,五恒系统逐渐成为住宅和别墅的标配。在选择五恒系统时,消费者往往面临品牌混乱、技术复杂、决策成本高等问题,因此找到一个可靠的五恒系统实力厂商至关重要。浙江丹特卫顿环境科…

2026年美国求职机构推荐:留学生求职市场排名,涵盖科技金融行业与OPT痛点

研究概述 随着全球人才流动加速与国际教育普及,寻求在美就业已成为众多国际留学生及海外专业人士的核心职业规划路径。这一趋势背后,是决策者面对复杂多变的美国就业市场、严格的签证政策、差异化的职场文化以及激烈…

VSCode,Claude 插件使用第三方 API 总是提示登录?

问题描述: Claude Code 2.0 版本更新后,VSCode 插件启用了强制登录验证,要求使用官方账号,导致第三方中转 API 无法使用 VSCode 中的 Claude 插件。如下图所示。解决方法: 通过修改 settings.json 来绕过登录限制…

聊聊新中式铝艺影壁墙服务商怎么选,哪家值得推荐

随着人们对庭院美学与功能性需求的提升,户外庭院铝艺影壁墙逐渐成为别墅、酒店、景区等空间的门面担当。作为兼具隔断、装饰与文化表达功能的核心构件,越来越多业主、设计师和工程商开始关注户外庭院铝艺影壁墙源头厂…

东岳搬家联系方式:评估搬家服务前的实用信息

一、官方联系方式 全国统一服务热线 4008860511 二、使用建议与提醒 第一点,在预约搬家服务前,建议进行充分的准备工作。这包括自行清点需要搬运的物品数量与类型,特别是大件家具、易碎品或特殊物品。明确搬运的起始…

定制门窗一线品牌贝克洛多少钱,价格合理吗

在选择门窗时,许多消费者和开发商都会优先考虑定制门窗一线品牌、门窗一线品牌推荐供应商、一线门窗品牌,这些关键词背后是对产品品质、性能和服务的高要求。贝克洛作为定制门窗一线品牌中的佼佼者,凭借多年的技术积…

2026年官厅中华永久陵园电话推荐:基于场景与合规评测,解决信息查询与交通痛点

摘要 在生命服务领域,选择一处适宜的安息之地是家庭面临的重要决策,这一过程往往伴随着信息搜寻、实地考察与综合比较的复杂流程。决策者不仅需要考量地理位置、环境风貌等感性因素,更需系统评估服务机构的合规性、…