您的位置:首页 > 其它

PTA.重载下标运算符[ ]

2017-05-10 19:54 211 查看
4-1 重载下标运算符[ ]   (10分)这段程序实现了安全数组。 请认真阅读程序并补全程序使之能正确执行。

裁判测试程序样例:

在这里给出函数被调用进行测试的例子。例如:
#include <iostream>
#include <cstdlib>
using namespace std;
const int SIZE = 3;

class atype {
int a[SIZE];
public:
atype( ) {
register int i;
for(i=0; i<SIZE; i++) a[i] = i;
}
int &operator[](int i);
};
//你提交的代码将被嵌入到这里

int main( )
{
atype ob;
cin >> ob[1];
ob[2] = ob[1];  // 下标运算符[]出现在赋值运算符的左边和右边
cout << ob[2];
ob[3] = 44; // 产生运行时错误,下标3超出了数组边界
return 0;
}

输入样例:

98

输出样例:

98Index value of 3 is out-of-bounds.
添加的代码:
int &atype::operator[](int i){if (i<0 || i>SIZE - 1){cout << "\nIndex value of";cout << "is out-of-bounds.\n";return i;}return a[i];}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: