#include"myarray.h"
Array::Array(intlength)
{
if(length< 0){
length= 0;
}
m_length =length;
m_space =newint[m_length];
}
//重写拷贝构造函数
Array::Array(constArray&obj){
this->m_length =obj.m_length;
this->m_space =newint[this->m_length];
for(inti = 0; i
this->m_space[i] =obj.m_space[i];
}
}
Array::~Array(){
if(m_space !=NULL){
delete[]m_space;
m_space =NULL;
m_length = -1;
}
}
//a1.setData;
voidArray::setData(intindex,intvalude){
m_space[index] =valude;
}
intArray::getData(intindex){
returnm_space[index];
}
intArray::length(){
returnm_length;
}
// a = 1,因为要当左值使用,所以要返回引用
int&Array::operator[](inti){
returnm_space[i];
}
//a2 = a1;
Array&Array::operator=(Array&a1){
if(this->m_space !=NULL){
delete[]m_space;
m_length = 0;
}
m_length =a1.m_length;
m_space =newint[m_length];
for(inti = 0; i
m_space[i] =a1[i];//因为已经重载了[]操作符
}
return*this;
}
//if
boolArray::operator==(Array&a1){
if(this->m_length !=a1.m_length){
returnfalse;
}
for(inti = 0; i
if(this->m_space[i] !=a1[i]){
returnfalse;
}
}
returntrue;
}
boolArray::operator!=(Array&a1){