当类模板碰到继承时,需要注意一下几点:
1.当子类继承的父类是一个类模板时,子类在声明的时候要指定出父类中的类型;
2.如果不指定,编译器无法给子类分配内存;
3.如果要灵活指定父类中的T的类型,子类也需要变成模板类;
#include<iostream>using namespace std;template<class T>class Base {public: T m;};class Son1 :public Base<int> {};template<class T1,class T2>class Son2 :public Base<T1> {: Son2() { cout << "T1的数据类型为:" << typeID(T1).name() << endl; cout << T2的数据类型为:" << typeID(T2).name() << endl; } T2 obj;};voID test() { Son1 s1; Son2<int,1)">char> s2;}int main() { test(); system(pause"); return 0;}
输出:
总结以上是内存溢出为你收集整理的c++类模板与继承全部内容,希望文章能够帮你解决c++类模板与继承所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)