类模板与继承
1.当子类继承的父类是一个类模板时,子类在声明的时候,要指定出 父类中T的类型如果不指定,编译器无法给子类分配内存。
2.如果不指定,编译器无法给子类分配内存。
3.如果想灵活指定出父类中T的类型,子类也需变为类模板。
#include <iostream>
#include <string>
using namespace std;
template<class T>
class Base {
T m;
};
//class Son::public Base//错误的,必须知道父类中的T类型,才能继承给子类
class Son:public Base<int>
{
};
void test01() {
Son s1;
}
//如果想要灵活的指定父类中T的类型,子类也需要变类模板,将char型的类型同时也传给了父类
template<class T1,class T2>
class Son2 :public Base<T2>
{
T1 obj;
};
void test02()
{
Son2<int, char> S2;
}
int main() {
system("pause");
return 0;
}