#include<iostream>
using namespace std;
//A编程模板 类
//模板类 类型参数化
//类模板的定义
//类模板的使用
//类模板 做函数参数
//模板类
template <class T>
class A
{
public:
A(T a)
{
this->a = a;
}
public:
void printA()
{
cout << "a: " << a << endl;
}
protected:
T a;
};
//从模板类 派生 模板类
template < typename T,typename T2>
class C :public A<T>
{
protected:
T2 c;
public:
C(T2 c, T a) :A<T>(a)//使用父类的初始化列表
{
this->c = c;
}
void printC()
{
cout << "a=" << a << endl;
cout << "c=" << c << endl;
}
};
int main(void)
{
C<int,int>c1(1, 2);
c1.printC();//调用子类的方法
c1.printA();//调用父类的方法
system("pause");
return 0;
}
/*
* 当继承的时候使用不同的数据类型 T1,T2的时候怎么写??
* 当只有一个模板T的时候
*/
009模板类派生出模板类
猜你喜欢
转载自blog.csdn.net/baixiaolong1993/article/details/89482599
今日推荐
周排行