小白教程
所有教程
关于
Search
172.69.6.172
172.69.6.172
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Subscripting operator overloading”的源代码
本页内容
上一节:
Function_call_operator_overloading
下一节:
Class_member_access_operator_overloading
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:下标运算符 [] 重载}}[[Category:cpp overloading|8]] = C++ 下标运算符 [] 重载 = [[cpp overloading|C++ 重载运算符和重载函数]] 下标操作符 [] 通常用于访问数组元素。重载该运算符用于增强操作 C++ 数组的功能。 下面的实例演示了如何重载下标运算符 []。 <sample title="" desc="" lang="c" hererun="1"> #include <iostream> using namespace std; const int SIZE = 10; class safearay { private: int arr[SIZE]; public: safearay() { register int i; for(i = 0; i < SIZE; i++) { arr[i] = i; } } int& operator[](int i) { if( i >= SIZE ) { cout << "索引超过最大值" <<endl; // 返回第一个元素 return arr[0]; } return arr[i]; } }; int main() { safearay A; cout << "A[2] 的值为 : " << A[2] <<endl; cout << "A[5] 的值为 : " << A[5]<<endl; cout << "A[12] 的值为 : " << A[12]<<endl; return 0; } </sample> 当上面的代码被编译和执行时,它会产生下列结果: <pre> $ g++ -o test test.cpp $ ./test A[2] 的值为 : 2 A[5] 的值为 : 5 A[12] 的值为 : 索引超过最大值 0 </pre> [[cpp overloading|C++ 重载运算符和重载函数]]
返回至“
Subscripting operator overloading
”。
上一节:
Function_call_operator_overloading
下一节:
Class_member_access_operator_overloading