一、程序及输出
1.1 指定父类T数据类型
必须要指定出父类中的T数据类型,才能给子类分配内存
正确使用 :
#include<iostream>
using namespace std;
template<class T>
class Base
{
public:
Base() {
cout << typeid(T).name() << endl;
}
T m_A;
};
//必须要指定出父类中的T数据类型,才能给子类分配内存
class Son :public Base<int>
{
};
void test01()
{
Son s1;
}
int main(){
test01();
system("pause");
return EXIT_SUCCESS;
}
输出:
1.2 子类T指定父类T数据类型
#include<iostream>
using namespace std;
template<class T>
class Base2
{
public:
Base2() {
cout << typeid(T).name() << endl;
}
T m_A;
};
template<class T1 ,class T2>
class Son2 :public Base2<T2>
{
public:
Son2()
{
cout << typeid(T1).name() << endl;
cout << typeid(T2).name() << endl;
}
T1 m_B;
};
void test02()
{
Son2 <int, double> s;
}
int main(){
test02();
system("pause");
return EXIT_SUCCESS;
}
输出:
文章来源:https://www.toymoban.com/news/detail-835617.html
二、分析与总结
在类模板碰到继承的问题时,要指定出父类中的T数据类型,才能给子类分配内存文章来源地址https://www.toymoban.com/news/detail-835617.html
到了这里,关于C++学习Day08之类模板碰到继承的问题以及解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!