问题及代码:
/*
*烟台大学计算机学院
*文件名称:xiangmu2(1).cpp
*作 者:闫安
*完成日期:2016年6月9日
*版 本 号:codeblocks 16.01
*
*问题描述:试将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。
*程序输入:无
*程序输出:运算结果
*/
#include <iostream>
#include <string>
using namespace std;
template <class T1,class T2>
class Test
{
public:
void SetData1(T1 val){data1=val;}
void SetData2(T2 val){data2=val;}
T1 GetData1(){return data1;}
T2 GetData2(){return data2;}
private:
T1 data1;
T2 data2;
};
int main()
{
Test<int,double>t1;
t1.SetData1(7);
t1.SetData2(8.6);
cout<<t1.GetData1()<<" "<<t1.GetData2()<<endl;
Test <string,char> t2;
t2.SetData1("Holle world!");
t2.SetData2('y');
cout<<t2.GetData1()<<" "<<t2.GetData2()<<endl;
return 0;
}
运行结果:
知识点总结:
template <class T1,class T2>注意不能写成template <class T1,T2>!