关闭

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

100人阅读 评论(0) 收藏 举报
分类:

问题及代码:

/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作    者:王艺霖
*完成日期:2016年5月31日
*版 本 号:v1.0
*问题描述:请为该类增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。
*输入描述:
*输出描述:
*/
#include <iostream>
#include <string>
using namespace std;
template <class T1,class T2>
class Test
{
public:
    Test();
    Test(T1 d1, T2 d2);
    template <class X,class Y> Test(const Test<X,Y> &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 d1, T2 d2):data1(d1),data2(d2) {}

template <class T1,class T2> template <class X,class Y>Test<T1, T2>::Test(const Test<X,Y> &t):data1(t.data1),data2(t.data2) {};

int main()
{
    Test <int,double> t1(5, 2.1);
    cout<<t1.GetData1()<<"   "<<t1.GetData2()<<endl;
    Test <int,double> t2(t1);
    cout<<t2.GetData1()<<"   "<<t2.GetData2()<<endl;
    return 0;
}

运行结果:

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28363次
    • 积分:1791
    • 等级:
    • 排名:千里之外
    • 原创:158篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类