[C con Clase] Clase matriz

Steven Davidson srd4121 en njit.edu
Mie Mar 18 18:46:05 CET 2009


Hola Vicente,

vicente lozano wrote:
> Hola,
> 
> Estoy haciendo una clase matriz para practicar un poquillo con una
> clase un poco mas grande que lleve templates, sobrecarga y esas
> cosillas.
> 
> Las variables miembro son:
> 
> int nRows; //Numero de Filas
> int nCols; //Numero de Columnas
> double** _m; //La matriz en si misma
> 
> La pregunta es como puedo sobrecargar operator[] de forma que pueda 
> hacer cosas como.
> 
> Matriz m();
> 
> m[1][4]=3;
> 

Me temo que no puedes hacer esto directamente. Si quieres usar este 
operador, entonces sugiero declarar '_m' de la siguiente manera:

Vector< double > *_m;

o en el "espíritu" de la POO, haríamos lo siguiente:

Vector< Vector< double > > _m;

Aquí, 'Vector<>' será una clase-plantilla creada por ti.

Si no quieres usar o definir otra clase, entonces tendrás que usar otro 
operador, como (). Haríamos lo siguiente:

Matriz m();

m(1,4) = 3;

El operador () acepta varios parámetros o ninguno, mientras que el 
operador [] sólo acepta uno.


Espero que esto te ayude.

Steven





Más información sobre la lista de distribución Cconclase