Ver Mensaje Individual
  #14 (permalink)  
Antiguo 15/04/2015, 05:59
Avatar de BramSt
BramSt
 
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años, 1 mes
Puntos: 5
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

@dmorill bien, hasta ahora creo sacar en claro, según lo que dices, si yo no defino un constructor para mi estructura, el compilador de manera "escondida" haría algo parecido a punto p(), ¿cierto?

Por otro lado, en tu ejemplo, ¿por qué "punto p" daría error? Quiero decir, ¿no lo debería ver el compilador como una instanciación de la clase (o como se llame crear una variable de tipo "punto"), en vez de como una llamada al constructor?

De no existir el constructor, o si es que existe por efecto si yo no lo defino, creo que esa sintaxis funcionaría perfectamente...

Como ejemplo de lo que quiero decir, pillo uno que me pusisteis antes (observad los comentarios):


Código C++:
Ver original
  1. struct punto{
  2.     int _x = 0;
  3.     int _y = 8;
  4.  
  5. };
  6.  
  7.  
  8. punto::punto(){//¿esto es llamar al constructor por defecto?
  9.     cout << _x << " " << _y << " Llamando al constructor." << endl;
  10. }
  11. int main(){
  12.     punto p;// por qué esto si funciona? no debería ser punto p()?;
  13.     cout << p._x << " " << p._y << " mostrando couts" << endl;
  14.  
  15.     cin.sync();
  16.     cin.get();
  17.  
  18.     return 0;
  19. }


Y otra cosita, ¿en este ejemplo se usa el operador de ambito (::) .¿Por qué? ¿Por que se está accediendo directamente a un miembro de clase?

Gracias! Espero no preguntar burradas muy gordas XD

Igual es que lo que debería haber hecho es ver las estructuras sólo de manera superficial (o profunda, pero sin temas de constructores aún), y antes de meterme a rollos de constructores, aprender bien el tema de funciones, que de hecho era el siguiente en mi libro de Lógica después de matrices... ¿qué creéis?

Y perdonad si parezco demasiado efusivo o pregunto muchas cosas juntas, es que esto de la Programación me está gustando (y costando) mucho y quiero aprender me cueste lo que me cueste.

Última edición por BramSt; 15/04/2015 a las 06:06