数组类模板


数组类实现功能:

  • 可以定义任意类型
  • 动态数组,可以随时修改数组大小
  • 可以直接通过"="进行数组复制
  • 其它基本操作和普通数组一致


#pragma once
#include
#include
using namespace std;
template
class Array
{
	public:
		Array(int sz=50)
		{
			assert(sz>=0);		//sz大小应该非负,否则终止程序
			size = sz;
			list = new T[size];
		}
		Array(const Array &a)		//深层复制
		{
			int i;
			size = a.size;
			list = new T[size];
			for(i=0;i=0);
			T *newList = new T[sz];
			n = size& operator = (const Array &oth)    //重载"="
		{
			int i;
			if(&oth==this)
				return *this;
			if(size!=oth.size)
			{
				delete []list;
				list = new T[oth.size];
				size = oth.size;
			}
			for(i=0;i=0 && k=0 && k a(n);
	for(i=0;i<=n-1;i++)
		scanf("%d", &a[i]);
	Array b(8);
	b = a;
	b.resize(8);
	printf("%d\n", b.Getsize());
	for(i=0;i

你可能感兴趣的:(#,数据结构基础)