C++类模板与继承 类模板成员函数类外实现

1.当子类继承的父类是一个类模板时,子类在声明的时候,要指定出父类中T的类型

2.如果不指定,编译器无法给子类分配内存

复制代码
1 template<class T>
2 class Base
3 {
4     T m;
5 };
6 //class Son:public Base   //错误 
7 class Son :public Base<int>
8 {
9 };
复制代码

3.如果想灵活指定父类中T的类型,子类也需要变为类模板

复制代码
 1 template<class T>
 2 class Base
 3 {
 4     T m;
 5 };
 6 template<class T1>
 7 class Son2 :public Base<T>
 8 {
 9     T1 obj;
10 };
复制代码

  类模板成员函数类外实现:

复制代码
 1 template<class T1,class T2>
 2 class Person
 3 {
 4 public:
 5     Person(T1 name, T2 age);
 6     void showPerson();
 7     T1 m_Name;
 8     T2 m_Age;
 9 };
10 //模板构造函数类外实现
11 template<class T1,class T2>
12 Person<T1, T2>::Person(T1 name, T2 age)
13 {
14     this->m_Name = name;
15     this->m_Age = age;
16 }
17 //模板成员函数类外实现
18 template<class T1,class T2>
19 void Person<T1, T2>::showPerson()
20 {
21 
22 }
复制代码

posted on   廿陆  阅读(48)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示