|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.下面是一个整型数组类intArray的声明,请给出该类所有数据成员的类外定义。要求:
(1)能通过对“>>”、“<<”的重载实现数组元素的直接输入及其输出。输入时,第一次输入的值为数组长度,后面连续输入若干个数作为数组内容。输出时,首先提示该数组元素个数,然后依次输出该数组各元素;
(2)重载“=”、“+”、“-” 运算符使之能对两个数组类对象进行直接赋值、加减运算。
(3)写出主函数对该类进行测试。要求:
1)先构造包含10个数组元素的数组对象a,再调用流提取运算符重载函数实现a的元素初始化(元素值分别为1—10),输出a数组;
2)并利用a来构造数组b,输出数组b,并调用get函数获取b中下标为奇数的各元素值并输出,然后调用set函数将上述元素值乘以2,输出b数组;
3)构造一个包含5个元素的数组c,其值全为1,输出该数组,再调用ReSize函数将其大小重置为10,调用“=”重载函数将a的值复制给c,输出数组c;
4)分别将b+c,b-c的值送给数组d和数组e,并输出结果。
- 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);//重置数组的长度
- intArray operator=(const intArray &other);//赋值运算符“=”重载函数
- intArray operator+(const intArray &other);//加运算符“+”重载函数
- intArray operator-(const intArray &other);//减运算符“-”重载函数
- friend ostream & operator>>(ostream &, intArray &);//数组的整体输入
- friend ostream & operator<<(ostream &, intArray &);//数组的整体输出
- private:
- int *element;//指向动态数组的指针
- int arraysize;//数组的当前长度
- };
复制代码
|
|