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 | + | '''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== | ||
Este [[Operadores|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. | Este [[Operadores|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== | == Operador de asignación== | ||
| − | Para utilizar el [[Operadores de asignación|operador de asignación]] | + | 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; | x = v.x; y = v.y; | ||
| − | + | return *this; | |
| − | + | } | |
</div> | </div> | ||
== Puede Consultar == | == Puede Consultar == | ||
Revisión del 14:44 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)