intArray类外定义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include
#include

using namespace std;

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) const; //获取第i个数组元素的值,获取成功返回true,失败返回false
int Length( ) const;//获取数组的长度
void ReSize ( int size ); //重置数组
void intArray::print(intArray &arr); //输出数组
private:
int *element; //指向动态数组的指针
int arraysize; //数组的当前长度
};

intArray::intArray(int size)
:arraysize(size),element(NULL)
{
assert(this->arraysize >= 0);
if (this->arraysize>0)
element = new int[size];

memset(element, 0, sizeof(int)*arraysize);
}

intArray::intArray(const intArray &x)
{
this->arraysize = x.Length();
if (arraysize > 0)
{
element = new int[arraysize];
for (int i=0; i{
int nValue = 0;
x.Get(i, element[i]);
}
}
}

intArray::~intArray()
{
if (arraysize > 0 && element != NULL)
{
delete[] element;
}
}
bool intArray::Set(int i, int elem)
{
if (i >= this->arraysize)
return false;

if (!this->element)
{
assert(0);
return false;
}

this->element[i] = elem;
return true;
}
bool intArray::Get(int i, int &elem) const
{
if (i >= this->arraysize)
return false;

if (!this->element)
{
assert(0);
return false;
}

elem = this->element[i];
return true;
}

//获取数组的长度
int intArray::Length( ) const
{
return this->arraysize;
}

//重置数组
void intArray::ReSize ( int size )
{
if (size == this->arraysize)
return;

if (this->element != NULL)
delete[] element;

this->arraysize = size;
element = new int[size];
assert(element);
memset(element, 0, sizeof(int)*size);
}

//输出数组
void intArray::print(intArray &arr)
{
cout << "该数组元素个数为:" << arr.Length() << endl;
int nValue = 0;
for (int i=0; i{
arr.Get(i, nValue);
cout<< nValue << " ";
}
cout << endl;
}
int main(){
}

相关文档
最新文档