intArray类外定义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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(){
}