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()// 输出数组的所有元素 }
展开
1个回答
展开全部
#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; }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询