c++中定义一个元素类型为int型的一维数组类拜托了各位 谢谢

要求:classIntArray{public:IntArray(initsize)IntArray()intsize()const//获取数组的大小int&item(i... 要求: class IntArray { public: IntArray(init size) IntArray() int size () const //获取数组的大小 int &item(int i)//获取第i个元素的引用。要求判断i是否越界 void display();//把数组a的所有元素复制到this数组的对应位置 要求判断啊的大小是否超出this数组的大小 void display()// 输出数组的所有元素 } 展开
 我来答
jktw986
2014-07-07 · TA获得超过264个赞
知道答主
回答量:109
采纳率:100%
帮助的人:110万
展开全部
#include <iostream> #include <algorithm> using namespace std; class IntArray { public: IntArray(int size = 1); int size () const; //获取数组的大小 int &item(int i); //获取第i个元素的引用。要求判断i是否越界 void copy_from(const int* a, int n); //把数组a的所有元素复制到this数组的对应位置 void display() const; // 输出数组的所有元素 ~IntArray(); private: int* elem; int numElems; IntArray(const IntArray&); IntArray operator = (const IntArray&); }; IntArray::IntArray(int size) { elem = new int[numElems = size]; } IntArray::~IntArray() { delete [] elem; } int IntArray::size() const { return numElems; } int& IntArray::item(int i) { if(i < 0 || i >= numElems) throw out_of_range("array index out of range."); return elem[i]; } void IntArray::copy_from(const int *a, int n) { delete [] elem; elem = new int[numElems = n]; copy(a, a + n, elem); } void IntArray::display() const { for(int i = 0; i < numElems; ++i) cout << elem[i] << ' '; cout << endl; } int main() { IntArray a; int x[] = {1,2,3,4,5}; a.copy_from(x, 5); a.display(); cout << a.item(2) << endl; cout << a.size() << endl; }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式