请VC高手解决

来源:百度知道 编辑:UC知道 时间:2024/05/11 21:42:12
//array.cpp
#include <iostream.h>
#include <stdlib.h>
#include "array.h"
template <class Type>void Array<Type>::getArray() //创建数组
{
elements=new Type[ArraySize];
if(elements==0){
cerr<<"Memory Allocation Error"<<endl;
ArraySize=0;
return;}
}
template<class Type> Array<Type>::Array(int Size)
{
if(Size<=0){
cerr<<"Invalid Array Size"<<endl;
ArraySize=0;
return;} //参数检查
ArraySize=Size; //数组长度
getArray(); //创建数组
}
template<class Type> Array<Type>::Array(const Array<Type> &x)
{
int n=x.ArraySize; ArraySize=n; //目的数组长度
elements=new Type[n]; //为目的数组动态分配存储空间
if(elements==0){
cerr<<"Memory Allocation Error"<<endl;
ArraySize=0;
re

//array.cpp
#include <iostream>
#include <stdlib.h>
using namespace std;
//#include "array.h"

const int DefaultSize=100;
template <typename T>
class Array
{
public:
Array(int Size=DefaultSize); //构造函数
Array(const Array<T> &x); //拷贝构造函数
~Array(){delete[]elements;} //析构函数
Array<T> &operator =(const Array<T>&A); //数组复制
T &operator [](int i); //下标
T *operator *()const{return elements;} //指针转换
int Length()const{return ArraySize;} //取数组长度
void ReSize(int sz); //修改数组长度
void Input();
private:
T *elements;
int ArraySize;
void getArray();
};

template <typename T>
void Array<T>::getArray() //创建数组
{
elements=new T[ArraySize];
if(elements==