Duda refencias desde un objeto C++

teamanare teamanare
25 de Mayo del 2014
Buenas a todos!

Tengo el siguiente problemilla en un ejercicio de C++:

Quiero crear una matriz que esté formada por un numero de filas y columas y una variable contenidoMatriz[][] en la cual voy guardando
todo el contenido de la misma.También en la clase "Matriz", hay operaciones a realizar en la matriz.

El contenido de cada elemento de la matriz son objetos de la clase "Elemento".
A su vez, la clase "Elemento" tiene 2 hijas (que son los valores verdaderos de la matriz), "CeldaInteger" y "CeldaSumar".


"CeldaInteger" son celdas que tienen un número entero.

"CeldaSumar" son celdas que tienen un string, que representa el rango de filas o columnas a sumar(solo un rango).

Ejemplo de "CeldaSumar":
- "c203" lo que significa es = devuelve la suma de la columna 2, del rango de elementos del 0 al 3.
- "f001" lo que significa es = devuelve la suma de la fila 0, del rango de elementos del 0 al 1.


Problema:

Lo que quiero hacer es un método en "Matriz", devolverResultadoSuma(int numFila, int numColumna), que a su vez haga:

return this->contenidoMatriz[numFila][numColumna]->getSuma()

y devuelva el resultado de realizar la suma que se indique en la celda, sobre esa posición.
(El método SIEMPRE se llamará sobre elementos "CeldaSumar").

Mi problema es que no se cómo hacer para pasar la matriz a getSuma().
Por el enunciado no puedo pasar el elemento matriz como
parámetro. Creo que tengo que refenciar la matriz de alguna forma para que getSuma() tenga matriz sobre la que moverse.

Le he estado dando mil vueltas a este ejercicio, y creo que tiene que haber alguna manera de pasar la matriz a getSuma(), pero no consigo hayar la solución. Habia pensado en, como se llama mediante, por ejemplo, matriz1>devolverResultadoSuma(0,0), que a su vez va a llamar a getSuma() sobre esa posición, se tiene que poder pasar la matriz que le está llamando.

Muchas gracias por vuestra ayuda de antemano.

Un saludo.