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

原创 2016年05月31日 18:12:28
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称 :
*作 者 : 刘云
*完成日期 : 2016年5月31号
*版 本 号 : v6.0
*
*问题描述 : 两个成员的类模板
*输入描述 :增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数
*程序输出 :
*/
#include<iostream>
using namespace std;
template<class T1,class T2>
class Test
{
public:
    Test(T1 val1=0,T2 val2=0):Data1(val1),Data2(val2){} //构造函数
    Test(Test &t1)  //复制构造函数
    {
       Data1=t1.Data1;
       Data2=t1.Data2;
    }
    void SetData1(T1 val){ Data1=val; }
    void SetData2(T2 val){ Data2=val; }
    void show()
    {
        cout<<"第一个数据为:"<<Data1<<endl;
        cout<<"第二个数据为:"<<Data2<<endl;
        cout<<'\n'<<'\n';
    }
    T1 GetData1(){return Data1;}
    T2 GetData2(){return Data2;}
private:
    T1 Data1;
    T2 Data2;
};
int main()
{
    Test<int,double>obj(4,3.6),obj1(obj);
    obj.show();
    obj1.show();
    obj.SetData1(2);
    obj.show();
    obj.SetData2(3.5);
    obj.show();
    cout<<obj.GetData1()<<endl;
    cout<<obj.GetData2()<<endl;
    return 0;
}

运行结果:

心得:

1、,template是定义模板函数的关键字;template后面的尖括号不能省略;typename(或class)是声明数据类型参数标识符的关键字,用以说明它后面的标识符是数据类型标识符。这样,在以后定义的这个函数中,凡希望根据实参数据类型来确定数据类型的变量,都可以用数据类型参数标识符来说明,从而使这个变量可以适应不同的数据类型。

2、函数模板只是声明了一个函数的描述即模板,不是一个可以直接执行的函数,只有根据实际情况用实参的数据类型代替类型参数标识符之后,才能产生真正的函数。



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

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

在原有函数的条件下进行修改: #include using namespace std; class Test { public: void SetData1(int val){ data1=...
  • jingmin52296358al
  • jingmin52296358al
  • 2016年05月31日 18:09
  • 145

第14周实践项目-两个成员的类模板

问题描述及代码: /* *copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:hellow.cpp *作者:田甜 *完成日期:...
  • sweetsweet1997
  • sweetsweet1997
  • 2016年06月01日 13:46
  • 176

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

/* * Copyright(c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:第14周项目2:两个成员的类模板(2) * 作者:...
  • CiMaoShuShu
  • CiMaoShuShu
  • 2016年06月02日 09:12
  • 143

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

 *Copyright(c) 2016.烟台大学计算机与控制工程学院 *ALL rights  reserved.  *文件名称:main.cpp  *作者:孙亚茹 *完成日期:2016...
  • syr201558504128
  • syr201558504128
  • 2016年06月09日 17:31
  • 131

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

/* 烟台大学计算机学院 *文件名称:test.cpp *作者:李亚辉 *完成日期:2016年6月24日 *版本号:vc++6.0 *问题描述: 设有如下的类声明: class ...
  • ll333543
  • ll333543
  • 2016年06月24日 12:04
  • 481

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

代码: /* *Copyright (c) 2016, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp; *作 者:岳成艳 2016年6月...
  • haiyanycy
  • haiyanycy
  • 2016年06月07日 22:08
  • 167

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

问题及代码: /* *copyright (t) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:张晴晴 *完成日期:2016年6月1...
  • qq_34216631
  • qq_34216631
  • 2016年06月11日 16:28
  • 107

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

问题及代码: /*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:王艺霖 *完成日期:20...
  • wyl4138
  • wyl4138
  • 2016年05月31日 14:14
  • 128

两个成员的类模板2

/*  *Copyright   (c)  2016,烟台大学计算机学院  *All rights reserved.  *文件名称:test.cpp  *作者: 武聪  *完成日期:201...
  • wucong111
  • wucong111
  • 2016年06月16日 09:11
  • 98

两个成员的类模板2

问题及描述; /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称;test.cpp *作者;邱凯 *完成日期;2016...
  • qiukai1234
  • qiukai1234
  • 2016年05月31日 14:20
  • 100
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第14周实践项目2(2)——两个成员的类模板
举报原因:
原因补充:

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