c++模板类实例化 简单例子

template<class T> 定义一个模板类

注意模板类看作一个数据类型(int, float)

class A

{

public:

A();

T getlist(T x,int n);

private:

T data[maxsize];

}//构造一个类

下面写main 主函数测试

模板类对象:

A<int>a();//int 可以为其他的数据类型 a 为构造的模板类的对象

注意:一些数据类型为简单数据类型时可用cout显示

但是一些构造类型,则需要调用其相应的显示函数


#include <iostream>
using namespace std;

const int MAXSIZE = 1000;
template<class T>
class Seqlist
{
public:
	Seqlist() { length = 0; }
	Seqlist(const T a[], int n);
	int locate(T x);
	T get(int i);//获取第i个位置元素
private:
	T data[MAXSIZE];
	int length;
};
template<class T>
Seqlist<T>::Seqlist(const T a[], int n)
{
	if (n > MAXSIZE)throw"数组长度超过最大长度";
	for (int i = 0; i < n; i++)
	{
		data[i] = a[i];
	}
	length = n;
}
template<class T>
T Seqlist<T>::get(int i)
{
	if (i<1 || i>length)throw"位置非法";
	return data[i - 1];
}
template<class T>
int Seqlist<T>::locate(const T x)
{
	for (int i = 0; i < length; i++)
		if (x == data[i])
			return i + 1;
	return 0;//查找失败
}
int main()//实例化
{
	int a[7] = { 1,2,3,4,5,6,7 };
	Seqlist<int>list(a, 7);
	int v = list.locate(5);
	cout << v << endl;
	int d = list.get(5);
	cout << d << endl;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值