C/Visual C - urgente: operador[][] sobrecargado

 
Vista:

urgente: operador[][] sobrecargado

Publicado por Miguel Espinoza (34 intervenciones) el 17/06/2005 03:25:34
hola!
tengo que modificar una clase para que se pueda usar el operador [][] en lugar del ()() para encontrar los elementos en una matriz.
pero no se bien como hacerlo. Me han dicho que debo usar una clase intermedia pero no logro entender esto claramente...

auxilio!!!

el enunciado esta aqui:
http://www.di-mare.com/adolfo/cursos/2005-1/p2-ta-8.htm

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:urgente: operador[][] sobrecargado

Publicado por chuidiang (677 intervenciones) el 20/06/2005 06:12:54
Hola:

Puedes sobrecargar sin problemas un operator[], pero no el operator[][] puesto que no existe.

Debes sobrecargar el operator[] y este método sobrecargado debe devolver algo que a su vez tenga sobrecargado el operator[].

Por ejemplo imagina que tu clase es Matriz. Redefines el opertor[] y debe devolver una clase Fila.

class Matriz
{
public:
Fila operator [] (int indice)
{
Fila resultado;
resultado = ... ; // Lo calculas
return resultado;
}
};

A su vez, debes redefinir el operator[] en Fila para que te de el elemento concreto de la matriz.

De esta forma

Matriz a;

cout << a[1][2];

Primero se resuelve a[1], devolviendo una Fila. Luego el compilador resuleve Fila[2].

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar