/*copyright(c)2016.烟台大学计算机学院
* All rights reserved,
* 文件名称:text.Cpp
* 作者:刘涛
* 完成日期:2016年5月30日
* 版本号:vc++6.0
* 问题描述: 请为该类增默认构造函数、带两个参数分别
对应两个数据成员初值的构造函数,以及复制构造函数。
*/
#include <iostream>
#include<string>
using namespace std;
template<class T1,class T2>
class Test
{
public:
Test();//默认构造函数
Test(T1 d1,T2 d2);//构造函数
Test(const Test<T1,T2>&n);//复制构造函数
void SetData1(T1 val) { data1=val; }
void SetData2(double val) {data2=val; }
T1 GetData1() { return data1; }
T2 GetData2() { return data2; }
private:
T1 data1;
T2 data2;
};
template <class T1,class T2>
Test<T1,T2>::Test() {}
template <class T1,class T2>
Test<T1,T2>::Test(T1 d1,T2 d2)
{
data1=d1;
data2=d2;
}
template <class T1,class T2>
Test<T1,T2>::Test(const Test<T1,T2>&n)
{
data1=n.data1;
data2=n.data2;
}
int main()
{
Test<int,double>a(456,1.23);
cout<<"Data1:"<<a.GetData1()<<" Data2:"<<a.GetData2()<<endl;
Test<string,float>b("ZY",521);
cout<<"Data1:"<<b.GetData1()<<" Data2:"<<b.GetData2()<<endl;
return 0;
}
运行结果:
<img src="https://img-blog.csdn.net/20160530192921698?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />