问题及代码:
*/
/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:崔青青
*完成日期:2016年5月31日
*版 本 号:v1.0
*问题描述:
*输入描述:无
*输出描述:无
*/
#include<iostream>
using namespace std;
template<class T1,class T2>
class Test
{
public:
Test();
Test(T1 d1,T2 d2):data1(d1),data2(d2){}
Test(Test &t)
{
t.data1=data1;
t.data2=data2;
}
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> t(1,2);
cout<<t.GetData1()<<" "<<t.GetData2()<<endl;
t.SetData1(1314);
t.SetData2(52.1);
cout<<t.GetData1()<<" "<<t.GetData2()<<endl;
}
运行结果:
知识点总结:
函数模板的构造函数、默认构造函数、复制构造函数的写法。
学习心得:
在写构造函数的时候,要记得把类型改成模板中对应的类型。