运算符重载相当于运算符的函数重载,用于对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型。我们之前提到过C++中的函数重载,可以根据形参的不同调用不同的函数,那么运算符重载跟函数重载的实现形式差不多,运算符重载的一般写法为返回值 operator运算符(参数列表)。
所谓运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。本文将示例如何重载数组下标"[]"与圆括号"()"运算符。 重载数组下标运算符"[]": 声明Vector类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include <iostream> using namespace std; class Vector...
重载圆括号运算符"()": 1 2 3 4 int& Matrix::operator()(intnRow, intnCol) { return*(m_nMatrix + nRow * m_nCol + nCol) ; //返回矩阵中第nRow行第nCol列的值 } 测试代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 intmain() { Matrix mtx(10, 10) ; //生成一个矩阵对象aM cout <...