【第22期】观点:IT 行业加班,到底有没有价值?

第十四周项目2——两个成员的类模板

原创 2016年06月02日 09:12:46

问题及代码:

/*
 * Copyright (c) 2016,烟台大学计算机与控制工程学院
 * All rights reserved.
 * 文件名称:main.cpp
 * 作    者:赵志君
 * 完成日期:2016年6月2日
 * 版 本 号:v1.0
 *
 * 问题描述:(1)试将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。 
 *          (2)请为该类增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。
 */
#include <iostream>
using namespace std;
template<class T,class S>
class Test{
public:
    Test(T a,S b):data1(a),data2(b){}
    Test(const Test &t)
    {
        data1=t.data1;
        data2=t.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> t1(3,5.5);
    cout<<t1.GetData1()<<"  ";
    cout<<t1.GetData2()<<endl;
    t1.SetData1(8);
    t1.SetData2(8.8);

    Test<double,int> t2(6.6,4);
    cout<<t2.GetData1()<<"  ";
    cout<<t2.GetData2()<<endl;;

    Test<int,double> t3(t1);
    cout<<t3.GetData1()<<"  ";
    cout<<t3.GetData2()<<endl;
    return 0;
}

运行结果:


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

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

问题及代码: /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作 者:张伟晶 *完成日期:...

编程新手导论(转载)

第二部分 导论,这一部分主要是关于编程的导论, (要懂得一点思想具备一点常识)《设计,编码,,与软工》(编程与思想)这一章解释了三种思想,原语,抽象,组合,,和软件开发的二个重要过程,,软件工程的相关概念,是编程入门的关键 (要懂得一点领域内的数学)《数学与算法》(编程与数学)计算机整个就是架构...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

第十四周项目3:两个成员的类模板(2)

问题及代码: */ /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:崔青青 ...

第十四周实验--任务2--建立专门的链表类处理有关动态链表的操作

<p style="padding-right: 0px; padding-left: 0px; font-s

第十四周上机实践——项目2-两个成员的类模板

/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:郭永恒 *完成日期:201...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)