La Web del Programador: Comunidad de Programadores
 
    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!