Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2011, 13:38
Avatar de sbcl
sbcl
 
Fecha de Ingreso: julio-2011
Mensajes: 29
Antigüedad: 13 años, 5 meses
Puntos: 5
Duda Con arrays, y Memory allocations.

Bueno el caso es este:
Yo Quiero tener una "point "y una clase "polygon", que tiene un método que recibe un array de "point"´s y polygon iguala su propio array de "point"´s a ese, alojando la memoria necesaria dependiendo la longitud del array recibido.

Esto es el Código:
Clases.c:
Código c:
Ver original
  1. class point
  2. {
  3.       public:
  4.       int x;
  5.       int y;    
  6.       point (int x_,int y_){
  7.            x = x_;y = y_;
  8.            }
  9. };
  10.  
  11. class polygon
  12. {
  13.      public:
  14.      point ** points;
  15.      void set_points(int point_count, point ** new_points){
  16.           points = (point**) calloc(point_count,sizeof(point*));
  17.           int x;
  18.           for (x = 0; x < point_count;x++){
  19.               points[x] = new_points[x];
  20.               }
  21.           };
  22. };

Desde acá lo ejecuto:
Código c:
Ver original
  1. int main()
  2. {
  3.     point * puntos[3];
  4.     puntos[0] = new point(5,10);
  5.     puntos[1] = new point(8,10);
  6.     puntos[2] = new point(10,10);
  7.     polygon * poligono;
  8.     poligono->set_points(3,puntos);
  9.     wait(10);
  10.     return 0;  
  11. }

No tira ningun error, simplemente crashea el sistema.
Si alguien puede darme una mano, se lo agradeceria!
Saludos.