C++(30)数组下标的运算符重载
2018-01-19 21:27
453 查看
重载[]和()运算符
运算符 [] 和 () 是二元运算符[] 和 () 只能用成员函数重载,不能用友元函数重载
重载下标运算符 []
[]运算符用于访问数据对象的元素
重载格式类型 类 :: operator[] ( 类型 )
设 x 是类 X 的一个对象,则表达式 x [ y ] 可被解释为 x . operator [ ] ( y )
#include <iostream> using namespace std; class Array { public: Array (int len = 0) { this->len = len; p = new int[len]; } int &operator[](int index) { return p[index]; } private: int len; int *p; }; int main() { Array a(10); for (int i = 0; i < 10; i++) { // operator[] (Array &a, int i) ==> operator[] ( int i) // a.operator[](i) = i; a[i] = i; cout<<a[i]<<" "; } cout<<endl; return 0; } 执行结果: 0 1 2 3 4 5 6 7 8 9
总结:
操作符重载是C++的强大特性之一
操作符重载的本质是通过函数扩展操作符的语义
operator关键字是操作符重载的关键
friend关键字可以对函数或类开发访问权限
操作符重载遵循函数重载的规则
操作符重载可以直接使用类的成员函数实现
=, [], ()和->操作符只能通过成员函数进行重载
++操作符通过一个int参数进行前置与后置的重载 C++中不要重载&&和||操作符
相关文章推荐
- C++之重载数组下标[]与圆括号()运算符的方法
- C++之重载数组下标[]与圆括号()运算符的方法
- C++之重载数组下标[]与圆括号()运算符的方法
- C++之重载数组下标[]与圆括号()运算符的方法
- C++之重载数组下标[]与圆括号()运算符的方法
- C++之重载数组下标[]与圆括号()运算符的方法
- C++之重载数组下标[]与圆括号()运算符的方法
- C++之重载数组下标[]与圆括号()运算符的方法
- 重载数组下标操作符,使用operator
- C++中几个特殊运算符的重载(= 、++、--、下标运算符的重载)
- 数组类小案例(重载 '[]' '=' '==' 和 '!=' 运算符)(进阶4)
- C++怎样重载下标运算符 [ ]
- PTA.重载下标运算符[ ]
- C++赋值运算符、函数调用运算符、下标运算符(“=”、“()”、“[]”)重载
- 重载下标运算符[]
- PTA.重载下标运算符[ ]
- cppTest-7.5:重载下标运算符[]
- C++中的STRING数据 重载 = 和数组下标
- 重载数组下标操作符,使用operator