模板类实现数组

   模板类实现数组 . 

#include
using namespace std;

//数组:是一块连续空间
template
class Array
{
public:
	//声明构造器
	Array();
	Array(T*,int);
	T at(int );//返回指定位置的元素
	unsigned short size();
	void insert(int,T);
private:
	T buf[100];
	int ilen;//存储元素的个数
};

template
Array::Array()
{
	ilen=0;
}
template
Array::Array(T buf[],int len)
{
	int i=0;
	for(i=0;ibuf[i]=buf[i];
	this->ilen=len;
}
template
T Array::at(int index)
{
	return this->buf[index];
}
template
unsigned short Array::size( )
{
	return this->ilen;
}
//插入第loc位置之前:
//loc从1开始  
template
void Array::insert(int loc,T num)
{
	//为满 
	if(this->ilen==100)
		return;

	//先位移 loc=3 
	int i=this->ilen-1;
	while( i>=0 && i>=loc-1)
	{
		this->buf[i+1]=this->buf[i];
		i--;
	}
	//插入
	this->buf[i+1]=num;
	this->ilen++;
}

int main()
{
//实例化一个泛型:
	
	float buf[10]={1.1,2.2,3.3,4.5,5.6,6.7};
	Array b(buf,6);
	//插入
	b.insert(3,7.9);		

	//遍历	
	int i=0;
	while(i

 

你可能感兴趣的:(♬,--,C\C++)