【C++】模板(二):类模板

大家好,我是苏貝,本篇博客带大家了解C++的类模板,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
在这里插入图片描述


1 类模板的定义格式

在这里插入图片描述
在这里插入图片描述

2 类模板的实例化

类模板实例化与函数模板实例化不同,类模板实例化需要在类模板名字后跟<>,然后将实例化的类型放在<> 中即可,类模板名字不是真正的类,是生成具体类的模具,而实例化的结果才是真正的类。

在这里插入图片描述

问:这个类模板关键就是知道T的类型,我们可以用类模板的实例化,那我们C语言的typedef可以胜任吗?

在这里插入图片描述

不能,为什么?
因为如果我们现在要定义2个栈,一个装int类型的,另一个装double类型的,这就不好写,除非再写一个Stack类,但那样就太麻烦了。但是用类模板实例化就能很好的解决
在这里插入图片描述

声明和定义分离

类模板内的成员函数声明和定义分离时,要在定义前一行加上template <class T1, class T2…class Tn>,以及在类模板名后加<T1,T2…Tn>,因为类模板前的template <class T1, class T2…class Tn>是只给类模板的,如果不加,那成员函数定义时就不认识T1…Tn

在这里插入图片描述

加上template <class T1, class T2…class Tn>以及在类模板名后加<T1,T2…Tn>

在这里插入图片描述

如果有多个类型T

在这里插入图片描述

注意:声明和定义分离时,不要定义在2个文件中


好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值