Sobrecarga del operador subíndice (Programación)
|
Sobrecarga del operador subíndice (Programación). Este operador sirve para señalar subíndices de matrices simples y multidimensionales; de ahí su nombre, operador subíndice o de selección de miembro de matriz'.
La expresión: <exp1>[exp2], se define como: *((exp1) + (exp2)) donde exp1 es un puntero y exp2 es un entero o viceversa.
Por ejemplo, arrX[3] se define como: *(arrX + 3) o *(3 + arrX), donde arrX es un puntero al primer elemento de la matriz. (arrX + 3) es un puntero al cuarto elemento, y *(arrX + 3) es el valor del cuarto elemento de la matriz.
Operador subíndice
Este operador debe recibir un int y devolver el miembro correspondiente de la matriz (Los miembros son tipo Vector). Debe gozar del doble carácter de Rvalue y Lvalue, debe devolver una referencia.
Operador de asignación
Para utilizar el operador de asignación = con los objetos devueltos por el selector de miembro [ ], se deben sobrecargar para los objetos tipo Vector. Vector& operator= (const Vector& v) { // función operator=
x = v.x; y = v.y; return *this; }