Diferencia entre revisiones de «Sobrecarga del operador subíndice (Programación)»
m (Texto reemplazado: «<div align="justify">» por «») |
|||
| (No se muestran 2 ediciones intermedias de otro usuario) | |||
| Línea 1: | Línea 1: | ||
| − | + | {{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'. | ||
| − | |||
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 == | ||
| Línea 19: | Línea 21: | ||
*[[Sobrecarga de operadores binarios (Programación)| Sobrecarga de operadores binarios (Programación)]] | *[[Sobrecarga de operadores binarios (Programación)| Sobrecarga de operadores binarios (Programación)]] | ||
*[[Sobrecarga de operadores lógicos (Programación)| Sobrecarga de operadores lógicos (Programación)]] | *[[Sobrecarga de operadores lógicos (Programación)| Sobrecarga de operadores lógicos (Programación)]] | ||
| + | *[[Sobrecarga del operador selector indirecto de miembro (Programación)| Sobrecarga del operador selector indirecto de miembro (Programación)]] | ||
== Fuente == | == Fuente == | ||
última versión al 08:30 13 jul 2019
| ||||
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)
- Sobrecarga del operador selector indirecto de miembro (Programación)