类模板 模板类

下面定义的是类模板,用int实例化T后成为模板类。
实例化类模板的语法:
类名<模板实参表>
 
结合下例即 Array<int> 就是将类模板Array实例化为模板类的语法。
 
/*类模板*/
#include <iostream>
using namespace std;

template<class T>
class Array {
	T *data;
	int size;
public:
	Array(int i) {
		data = new T[i];
		size = i;
	}

	~Array() {
		delete[] data;
	}

	T& operator[](int i) {
		return data[i];
	}

	void find(T a);
};
void Array<T>::find(T a) {
	for (int i = 0; i < size; i++) {
		if (data[i] == a) {
			cout << "Found it! The index is" << i << endl;
			break;
		}
		if (i == size) {
			cout << "Cann't find!\n";
		}
	}
}

int main(void)
{
	Array<int> iarray(10); //Array<int> 用int实例化模板参数T而生成的模板类。
	for (int i = 0; i < 10; i++) {
		iarray[i] = i;
		cout << iarray[i] << ",";
	}
	cout << endl;

	iarray.find(4);

	Array<double> darray(10);
	//...对double的操作略。
	return 0;
}

转载于:https://www.cnblogs.com/helloweworld/archive/2012/12/29/2839273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值