第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--两个成员的类模板(2)

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

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

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

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

问题及代码: /* *烟台大学计算机与控制工程学院 *文件名称:xiangmu2(2).cpp *作 者:闫安 *完成日期:2016年6月9日 *版 本 号:codeblocks 16.01 ...

第14周上机实践项目5——体会棋盘游戏中的数据存储(2)

问题及代码 /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * ...

第14周上机实践项目3——多科成绩单(2)

问题及代码 /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * ...

第14周上机实践项目2——带姓名的成绩单(1)

问题及代码 /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * ...

第14周上机实践项目2——用文件保存的学生名单

(1)定义学生类,其中包含姓名、C++课、高数和英语成绩及总分数据成员。 (2)用对象数组进行存储学生的成绩,读入成绩并计算总分;将总分高于平均总分且没挂科的同学的信息保存到文件pass_score...

第14周上机实践项目2——带姓名的成绩单(2)

问题及代码 /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * ...

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

/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:刘涛 * 完成日期:2016年5月30日 *...

第六周上机实践项目6——复数模板类(2)

问题及代码 友元函数提供了一种非成员函数访问私有数据成员的途径,模板类使类中的数据成员的类型变得灵活,这两种技术可以结合起来用。要求在前面方案的基础上支持用友员函数实现的加法。 /* * C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第14周实践项目2(2)——两个成员的类模板
举报原因:
原因补充:

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