大家好,我是苏貝,本篇博客带大家了解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个文件中
好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️