Pregunta: | 23025 - ERROR EN LA CREACIÓN DE UNA CLASE |
Autor: | marta leal polo |
Hola!! me gustaria saber como reservar memoria para una matriz, yo en la clase lo he declarado asi:
class CGraf¨{ int *array; a la hora de hacer el constructor por defecto he hecho: array = new int[0,0]; en el constructor por parametros: array = new int [i ,i]; y en el destructor : delete [] array; pero peta, alguien me podria decir otra forma de hacerlo o lo que estoy haciendo mal, me urge un poco. Ah! se me olvidaba, alguien sabe sobrecargar el operador '()'?? Gracias a todos. |
Respuesta: | Claudio Tessone |
Tendrias que hacerlo asi (no se si es un typo de tu mensaje los errores que aparecen)
class CGraf { int **array; public: CGraf(int i=0) { array = new (int *)[i]; for(int j=0;jarray[j]= new (int)[j]; } ~CGraf() { delete [] array; } const int &operator (int a, int b) { return array[i][j]; } } Eso si querés que el operator() te regrese el valor de array en los subindices indicados (al estilo fortran o (puajjjjjjj) basic) Creo que no me olvide de nada Suerte! |