下面是一个整型数组类intArray的声明,请给出该类所有数据成员的类外定义。
下面是一个整型数组类intArray的声明,请给出该类所有数据成员的类外定义。classintArray{public:intArray(intsize);//构造函数i...
下面是一个整型数组类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; //数组的当前长度
};
请给出该类所有数据成员的类外定义 {要求}
速度啊 展开
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; //数组的当前长度
};
请给出该类所有数据成员的类外定义 {要求}
速度啊 展开
2个回答
展开全部
#include "memory.h"
class IntArray
{
public:
IntArray(int size); //size为数组大小,所有元素初始化为0
~IntArray();
int size() const;//获取数组大小
int& item(int i);//要求判断i是否越界,如越界,终止
void assign(IntArray&a);//数组a的所有元素复制到this数组的对应位置。要求判断a的大小是否超过this数组,如超出,终止
void display();//输出数组所有元素
private:
int m_iSize ;
int* m_pData ;
};
IntArray::IntArray(int size)
{
m_iSize = size ;
m_pData = new int[size];
memset(m_pData,0,sizeof(int)*size);
}
IntArray::~IntArray()
{
delete m_pData ;
}
int IntArray::size() const
{
return m_iSize ;
}
int& IntArray::item(int i)
{
if( i >= m_iSize )
return m_pData[0];
return m_pData[i];
}
void IntArray::assign(IntArray&a)
{
if( a.size() > size())
return ;
m_iSize = a.size();
for(int i = 0 ; i < m_iSize ; i++ )
m_pData[i] = a.m_pData[i];
}
void IntArray::display()
{
for(int i = 0 ; i < m_iSize ; i++ )
printf("%d ",m_pData[i]);
printf("\n");
}
void main()
{
IntArray intArr(5);
intArr.display();
for(int i = 0 ; i < intArr.size() ; i++)
intArr.item(i) = i*2+5 ;
intArr.display();
}
这个差不多可以参考一下!亲
class IntArray
{
public:
IntArray(int size); //size为数组大小,所有元素初始化为0
~IntArray();
int size() const;//获取数组大小
int& item(int i);//要求判断i是否越界,如越界,终止
void assign(IntArray&a);//数组a的所有元素复制到this数组的对应位置。要求判断a的大小是否超过this数组,如超出,终止
void display();//输出数组所有元素
private:
int m_iSize ;
int* m_pData ;
};
IntArray::IntArray(int size)
{
m_iSize = size ;
m_pData = new int[size];
memset(m_pData,0,sizeof(int)*size);
}
IntArray::~IntArray()
{
delete m_pData ;
}
int IntArray::size() const
{
return m_iSize ;
}
int& IntArray::item(int i)
{
if( i >= m_iSize )
return m_pData[0];
return m_pData[i];
}
void IntArray::assign(IntArray&a)
{
if( a.size() > size())
return ;
m_iSize = a.size();
for(int i = 0 ; i < m_iSize ; i++ )
m_pData[i] = a.m_pData[i];
}
void IntArray::display()
{
for(int i = 0 ; i < m_iSize ; i++ )
printf("%d ",m_pData[i]);
printf("\n");
}
void main()
{
IntArray intArr(5);
intArr.display();
for(int i = 0 ; i < intArr.size() ; i++)
intArr.item(i) = i*2+5 ;
intArr.display();
}
这个差不多可以参考一下!亲
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询