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

在原有函数的条件下进行修改:

#include<iostream>
using namespace std;
class Test
{
public:
    void SetData1(int val){ data1=val; }
    void SetData2(double val){ data2=val; }
    int GetData1(){return Data1;}
    double GetData2(){return Data2;}
private:
    int Data1;
    double Data2;
};
int main()
{
    
    return 0;
}

下面为修改的代码:

/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称 :
*作 者 : 刘云
*完成日期 : 2016年5月31号
*版 本 号 : v6.0
*
*问题描述 : 两个成员的类模板
*输入描述 : 将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。 
*程序输出 :
*/
#include<iostream>
using namespace std;
template<class T1,class T2>
class Test
{
public:
    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;
};
int main()
{
    Test<int,double>obj;
    obj.SetData1(2);
    obj.SetData2(3.5);
    cout<<obj.GetData1()<<endl;
    cout<<obj.GetData2()<<endl;
    return 0;
}

运行结果:

心得:

一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默认成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。
如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值