Sobrecargar operador[], para una clase matriz
Publicado por rafa (4 intervenciones) el 10/05/2008 16:53:10
Nose como sobrecargar el operador[],para un tipo matriz, porque lo que necesito es hacer [][], y claro al sobrecargar el operador [ ]le puedes decir que el int introducido [i] este entre 0 y filas pero y si es el segundo [], me interesa el numero de columnas para no violar memoria... eso me tiene loco, los datos privados de mi clase son estos:
int fil; /**< número de filas de la matriz */
int col; /**< número de columnas de la matriz */
int **matriz; /**< La matriz en si: una matriz dinamica 2D de int */
y asi es como los sobrecargaria para un vector y no una matriz:
int& Matriz::operator[] (int i) {
assert (0<=i && i<fil);
return matriz[i];
}
const int& Matriz::operator[] (int i) const{
assert (0<=i && i<fil);
return matriz[i];
}
para un vector deberia ser similar a una matriz pero no consigo ver el concepto...
gracias.
int fil; /**< número de filas de la matriz */
int col; /**< número de columnas de la matriz */
int **matriz; /**< La matriz en si: una matriz dinamica 2D de int */
y asi es como los sobrecargaria para un vector y no una matriz:
int& Matriz::operator[] (int i) {
assert (0<=i && i<fil);
return matriz[i];
}
const int& Matriz::operator[] (int i) const{
assert (0<=i && i<fil);
return matriz[i];
}
para un vector deberia ser similar a una matriz pero no consigo ver el concepto...
gracias.
Valora esta pregunta


0