类模板的定义和实例化

先看下面利用类模板的一个实例程序:
#include <iostream>
using namespace std;
template <class T>
class Test{
public:
	Test(T a,T b){
		x=a;
		y=b;
	}
	T getMin(){
		return x<y?x:y;
	}
	void show(){
		cout<<"x="<<x<<'\t'<<"y="<<y<<endl;
	}
private:
	T x,y;
};

int main(int argc, char* argv[])
{
	Test<int>  ob1(10,5);
	Test<char> ob2('a','b');
	Test<double> ob3(3.8,4.6);
	ob1.show();
	cout<<ob1.getMin()<<endl;
	ob2.show();
	cout<<ob2.getMin()<<endl;
	ob3.show();
	cout<<ob3.getMin()<<endl;
	return 0;
}

从上面的程序可以看出,类模板为描述多个具有相同结构(成员变量及成员函数),仅成员类型不同(可能为int、char、double等类型)的类提供了方便。

模板类的定义格式如下:

template <class T1,class T2,......>

class <类名>

{

<成员说明>

};

其中,template是关键字,表示定义的是一个模板。类模板的定义是以template开始。T1,T2等为类模板的类型参数,用尖括号"<>"括起来,多个类型参数项之间用逗号隔开。在类成员的说明中,可以使用T1、T2等指定类中数据成员的类型、成员函数的参数类型和返回值类型。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值