付出类外定义

给出类外定义下面是一个整型数组类intArray的声明,请给出该类所有数据成员的类外定义。class intArray{publ

给出类外定义
下面是一个整型数组类intArray的声明,请给出该类所有数据成员的类外定义。
class intArray
{public:
intArray(int size);//构造函数
intArray(const intArray &x);//复制构造函数
~intArray();//析构函数
bool Set(int i, int elem);//设置第i个数组元素的值,设置成功返回true,失败返回false
bool Get(int i, int &elem); //获取第i个数组元素的值,获取成功返回true,失败返回false
int Length( ) const;//获取数组的长度
void ReSize ( int size ); //重置数组
void Print();//输出数组
private:
int *element;            //指向动态数组的指针
int arraysize;            //数组的当前长度
};

[解决办法]

intArray::intArray(int size):arraysize(size) {
    element=new int[size];
}
intArray::intArray(const intArray &x):arraysize(size) {
    element=new int[size];
}
intArray::~intArray() {
    delete[] element;
}

沒有賦值運算符...
[解决办法]
bool intArray::Set(int i, int elem) {
    if (i>=arraysize)
        return false;
    element[i]=elem;
    return true;
}
bool intArray::Get(int i, int &elem) {
    if (i>=arraysize)
        return false;
    elem=element[i];
    return true;
}
int intArray::Length() const {
    return arraysize;
}
void intArray::ReSize(int size) {
    delete[] element;
    element=new int[size];
    arraysize=size;
}
void intArray::Print() {
    // 你想怎輸出?
}


[解决办法]
沒有賦值運算符可能會發生內存泄漏