Diferencia entre revisiones de «Sobrecarga del operador subíndice (Programación)»
Línea 1: | Línea 1: | ||
<div align="justify">{{Definición|Nombre= Sobrecarga del operador subíndice (Programación)|imagen= |concepto= 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.}} | <div align="justify">{{Definición|Nombre= Sobrecarga del operador subíndice (Programación)|imagen= |concepto= 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.}} | ||
− | '''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. | + | '''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. | 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. | 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== | == Operador subíndice== | ||
Línea 9: | Línea 11: | ||
Para utilizar el [[Operadores de asignación|operador de asignación =]] con los objetos devueltos por el selector de miembro [ ], se deben sobrecargar para los objetos tipo Vector. | Para utilizar el [[Operadores de asignación|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= | Vector& operator= (const Vector& v) { // función operator= | ||
− | + | x = v.x; y = v.y; | |
− | + | return *this; | |
− | } | + | } |
</div> | </div> | ||
== Puede Consultar == | == Puede Consultar == |
Revisión del 15:45 17 nov 2012
|
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; }
Puede Consultar
- Operadores
- Sobrecarga de operadores
- Sobrecarga de operadores unarios (Programación)
- Sobrecarga de operadores binarios (Programación)
- Sobrecarga de operadores lógicos (Programación)