您的位置:首页 > 博客中心 > 互联网 >

类模板

时间:2022-05-11 13:00

为了说明类模板,先看一个类模板的例子

#include 

using namespace std;

template

class Compare//定义一个比较类(用于比较两个数的大小)
{
public:

    //使用初始化表的形式初始化数据成员
    Compare(T x, T y):a(x),b(y){}
    
    T max(void)//比较两个数据,并且返回最大值
    {
        return a > b ? a : b;
    }

    T min(void)//比较两个数据,并且返回最小值
    {
        return a < b ? a : b;
    }

    //显示比较的数据
    void show( );     
 
private://两个比较的数
    T a;
    T b;
};

//显示比较的数据
template  
void Compare::show( )     
{  
    cout<   cmp1(1,2);
    Compare cmp2(3.55,2.7);
    Compare  cmp3('A','z');

    cmp1.show();
    cout<<" 中最大的数是:"<

执行结果:

gxlsystem.com,布布扣


上面的程序是实现比较两个数据的大小


代码还可以写成下面的形式

#include 

using namespace std;

template

class Compare//定义一个比较类(用于比较两个数的大小)
{
public:

    //使用初始化表的形式初始化数据成员
    Compare(T x, T y);
    T max(void);//比较两个数据,并且返回最大值
    T min(void);//比较两个数据,并且返回最小值
    void show( );//显示数据     
 
private://两个比较的数
    T a;
    T b;
};

//使用初始化表的形式初始化数据成员
template 
Compare::Compare(T x, T y)
{
    a = x;
    b = y;
}

template 
T Compare::max(void)//比较两个数据,并且返回最大值
{
    return a > b ? a : b;
}

template 
T Compare::min(void)//比较两个数据,并且返回最小值
{
    return a < b ? a : b;
}
//显示比较的数据
template  
void Compare::show( )     
{  
    cout<   cmp1(1,2);
    Compare cmp2(3.55,2.7);
    Compare  cmp3('A','z');

    cmp1.show();
    cout<<" 中最大的数是:"<

执行结果和上面的代码一样


类模板的形式:template

如:template  T表示数据类型名


类模板中的成员函数在函数外部定义的形式:

template

类名<类型名> ::成员函数名


如:

template

Complare::show()

类模板,布布扣,bubuko.com

本类排行

今日推荐

热门手游