下标运算符“[ ]”一般用于在数组中标识数组元素的位置,在C/C++语言中,下标运算符“[ ]”是没有越界检查功能的。可以通过重载下标运算符“[]”实现一种更安全、功能更强的数组类
格式
下标运算符的使用方式是a[i],
第一个操作数为数组名,
重载后就为用户自定义对象,
因此C++规定重载下标运算符“[]”只能重载为类的成员函数。
#include <iostream> // 编译预处理命令using namespace std; // 使用命名空间std// 声明数组类模板template <class ElemType, int size>class Array{private:ElemType elem[size]; // 存储数据元素值的C风格数组public:ElemType &operator[](int i) // 下标运算符"[]"只能重载为成员函数{if(0<=i&&i<=size-1){return elem[i];}else{cout<<"下标超过范围!"<<endl;exit(1);}}};
