/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:郭永恒
*完成日期:2016年6月1日
*版 本 号:v1.0
*
*问题描述:把此类声明改为类模板声明,并添加构造函数
*/
#include <iostream>
using namespace std;
template <typename T,typename S>
class Test
{
public:
Test() = default;
Test(T v1, S v2):data1(v1),data2(v2){}
Test(const Test& test):data1(test.data1),data2(test.data2){}
void SetData1(T val) { data1 = val; }
void SetData2(S val) { data2 = val; }
T GetData1() { return data1; };
S GetData2() { return data2; };
private:
T data1;
S data2;
};
int main()
{
Test<int,double> t2(1,1.3);
cout << t2.GetData1() << " " << t2.GetData2() << endl;
Test<int,double> t1(t2);
cout << t1.GetData1() << " " << t1.GetData2() << endl;
t1.SetData1(2);
t1.SetData2(2.5);
cout << t1.GetData1() << " " << t1.GetData2() << endl;
return 0;
}
运行结果: