您的位置:首页 > 其它

第14周项目 2—两个成员的类模板 (2)

2016-06-09 17:31 323 查看

*Copyright(c) 2016.烟台大学计算机与控制工程学院

*ALL rights  reserved.

 *文件名称:main.cpp

 *作者:孙亚茹

*完成日期:2016年6月9日

*问题描述:声明为函数模板,编写程序。

*//

#include <iostream>

using namespace std;
template <class T1,class T2>
class  Test{
public:
Test();
Test(T1 dat1,T2 dat2);
template<class t1,class t2> Test(Test<t1,t2> &t);
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;
};
template <class T1,class T2>
Test<T1,T2>::Test(){};
template <class T1,class T2>
Test<T1,T2>::Test(T1 dat1,T2 dat2):data1(dat1),data2(dat2){}
template <class T1,class T2>template <class t1,class t2>
Test<T1,T2>::Test(Test<t1,t2> &t):
data1(t.data1),data2(t.data2){}
int main()
{
Test <int,double>t;
t.SetData1(8);
t.SetData2(6.6);
cout<<t.GetData1()<<"   "<<t.GetData2()<<endl;
cout<<"下面执行复制构造函数:"<<endl;
Test <int,double>t0(t);
cout<<t0.GetData1()<<"   "<<t0.GetData2()<<endl;
return 0;
}




总结:

          考查了类模板的默认构造函数,两个参数的构造函数,复制构造函数的写法。

          注意在写复制构造函数时复制对象与被复制对象两个类模板的前后顺序,被复制的对象类模板要写在前面:template <class T1,class T2>template <class t1,class t2>

Test<T1,T2>::Test(Test<t1,t2> &t):
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: