Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] ¿Para qué necesito un Constructor? (Sí, novato inside XD).

Estas en el tema de ¿Para qué necesito un Constructor? (Sí, novato inside XD). en el foro de C/C++ en Foros del Web. Hola! Muchas gracias dmorill y los demás por vuestras respuestas.olvidado un poquillo Perdón por haber dejado esto "colgado" pero ha habido muchos cambios en mi ...

  #31 (permalink)  
Antiguo 10/06/2015, 15:22
Avatar de 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).

Hola! Muchas gracias dmorill y los demás por vuestras respuestas.olvidado un poquillo

Perdón por haber dejado esto "colgado" pero ha habido muchos cambios en mi vida personal y trato de ponerlo todo en orden (cambio de país de residencia incluido).

Pero ya llevo un par de semanitas dándole caña de nuevo a la programación. Ando repasando esto de los constructores que me explicásteis y todo lo demás, que ya se me había oxidado un poquillo.

Al final me he apuntado al CFGS de desarrollo web, y aunque sé que ahí se trabaja con Java, tengo ganas de aprender BIEN ciertas cosas en c++, como punteros y memorias dinámicas, que imagino que vendrán muy bien luego también en Java (aunque en dicho Lenguaje los punteros, por ejemplo, tengo entendido que no se usan como tal).

Vaya que no quiero dejar de lado este Lenguaje, C++. Un mes y medio antes de empezar ya le iré dando a Java. También he empezado a coquetear con mysql.

Consejos serán también bienvenidos jeje.

Pues muchas gracias a todos. Iré plasmando mis dudas por aquí si no tenéis inconveniente :)
  #32 (permalink)  
Antiguo 11/06/2015, 02:57
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

¿¿No crees que intentar aprender muchas cosas a la vez puede ser desastroso?? Yo creo que como máximo, no te deberías pasar de 2 lenguajes.

C++ no es un lenguaje que lo puedas tomar a la ligera, no me engañaban cuando me decían que se necesitaba 2 años solo para empezar a moverme con soltura en el, aun me quedan muchas cosas por aprender, por eso te digo. Al aprender C++ también estas aprendiendo algo de C, así que cuando estés aprendiendo 2 en teoría ya van 3. XDD

Haz código a diario, aprenda algo nuevo cada día, practicando los días se van pasando, y por supuesto cada día serás mejor que el anterior, cuando pase un tiempo te darás cuanta que has avanzado un buen cacho, depende de tu ritmo y de lo tanto que deseas aprender el lenguaje.

Suerte.
  #33 (permalink)  
Antiguo 11/06/2015, 11:23
Avatar de 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).

Cita:
Iniciado por vangodp Ver Mensaje
¿¿No crees que intentar aprender muchas cosas a la vez puede ser desastroso?? Yo creo que como máximo, no te deberías pasar de 2 lenguajes.

C++ no es un lenguaje que lo puedas tomar a la ligera, no me engañaban cuando me decían que se necesitaba 2 años solo para empezar a moverme con soltura en el, aun me quedan muchas cosas por aprender, por eso te digo. Al aprender C++ también estas aprendiendo algo de C, así que cuando estés aprendiendo 2 en teoría ya van 3. XDD

Haz código a diario, aprenda algo nuevo cada día, practicando los días se van pasando, y por supuesto cada día serás mejor que el anterior, cuando pase un tiempo te darás cuanta que has avanzado un buen cacho, depende de tu ritmo y de lo tanto que deseas aprender el lenguaje.

Suerte.
Claro claro, tienes razón. Cuando empiece con Java tendré que dejar de lado C++ porque, como dices, quien mucho abarca poco aprieta...

Sólo quería consolidar en lo posible en C++ ciertos conocimientos antes de lanzarme a Java, sobre todo en cuanto a punteros y memorias dinámicas, ya que el manejo de punteros me parece super interesante y me puede quizá ayudar a entender fallos lógicos en Java con las referencias esas.

Y en un futuro, aunque me obliguen ahora a trabajar con Java, me gustaría seguir aprediendo C++. ¿Los motivos? Pues porque si a todo el mundo enseñan ahora Java, todo el mundo sabrá Java... si tú además aprendes C++, pues ya es un añadido que tienes. Quiero buscar las maneras de distinguirme, y no ser como lo demás, conformarme con lo justo y ya.

Además, es un lenguaje completo y me gusta. Motivos demasiado argumentados no puedo dar ya que apenas estoy dando mis pinitos en programación como para entrar a juzgar lenguajes que apenas conozco... Sólo digo que si tanta gente odia Java y a todo el mundo le gusta C++, pues igual por algo es XD, pero ahí ya no me meto.

Muchas gracias por tu consejo :)
  #34 (permalink)  
Antiguo 11/06/2015, 13:31
Avatar de 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).

Por cierto, ¿alguien me puede explicar qué hay mal en este código?

He tratado de crear una struct poniéndole un par de variables privadas para practicar los cnstructores, pero da error 'int cd::totalcanciones' is private

Claro que es privada... lo curioso es que si le quito el cout final, al menos ejecuta bien... así que quizá sea ahí donde me equivoque. Pero no veo dónde está el problema. A ver si me podéis echar un cable.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. using namespace std;
  5.  
  6. struct cd
  7.     {
  8.  
  9.         public:
  10.         cd (float c, int d);
  11.  
  12.  
  13.         private:
  14.  
  15.         float precio;
  16.         int totalcanciones;
  17.  
  18.  
  19.  
  20.  
  21.  
  22.     };
  23.  
  24.     cd::cd(float c, int d)
  25.     {
  26.  
  27.         precio=c;
  28.         totalcanciones=d;
  29.  
  30.     }
  31.  
  32. int main()
  33. {
  34.  
  35.  
  36.     cd cd2(12,15);
  37.  
  38.  
  39.  
  40.     cout<<cd2.totalcanciones<<endl<<endl;
  41.  
  42.  
  43.  
  44. }

Un saludo!
  #35 (permalink)  
Antiguo 11/06/2015, 15:24
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

La utilidad justo es esa... es no dejar que llames directamente a totalcanciones. Si quieres hacer eso mejor ponga en la parte publica, lo que hace que tenga aun menos sentido ya que trabajar con clases es asegurar que no se pueda tener acceso externo a las variables miembro.

En vez de llamar directamente, lo que necesitas es llamar a algún método geter que te devuelva el entero para ti, ya que solo puedes acceder desde la parte publica de la misma clase.

Seria hacer lo mismo que hiciste con el constructor pero el inverso. Te dejo el ejemplo.
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct cd {
  5. public:
  6.     cd ( float c, int d );
  7.     int getTotalcanciones() const;
  8. private:
  9.     float precio;
  10.     int totalcanciones;
  11. };
  12.  
  13. cd::cd ( float c, int d ) {
  14.     precio = c;
  15.     totalcanciones = d;
  16. }
  17.  
  18. int cd::getTotalcanciones() const{
  19.     return totalcanciones;
  20. }
  21.  
  22. int main() {
  23.     cd cd2 ( 12, 15 );
  24.     cout << cd2.getTotalcanciones() << endl << endl; //Método geter o consultor
  25.    
  26.     cin.ignore();
  27. }
Esa es una función miembro a la que se le llama geter, y la que modifica el valor se le dice seter.

Entonces suponiendo que tienes una variable miembro llamada int valor, si quieres obtener dicha variable, llamas a getValor() por ejemplo, y si la vas a modificar seria setValor(unValor), donde un valor es un entero que queremos asignar el valor. Fácil, busque sobre métodos geters y seters en C++ y ya lo verás.

También se les dice métodos consultores e modificadores.

Si vas aquí http://v1.minidosis.org/C++/ ...a la parte al final donde dice 20.Clases, encontrarás todo sobre el tema.

Espero que te haya servido.

PD: No alargue más el tema, que ya es muy largo... Dale por concluido, si tienes más dudas abra otro especifico. Los temas sirven para ayudar otras personas, y deben ser cortos y claros. hace tiempo que ese dejo de ser eso.

Suerte.
  #36 (permalink)  
Antiguo 11/06/2015, 16:31
Avatar de 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).

Vaya, pues yo precisamente creía desde hace largo que la utilidad de los constructores es poder acceder a datos privados... así que sigo sin saber entonces la utilidad de los constructores (eso de "para inicializar las instancias de una clase" que encuentro por ahí, sigue sin decirme nada).

Igual lo que ha pasado es que me he puesto a estudiarlos antes de tiempo, sin conocer a fondo cómo van las clases y objetos y por tanto no tener clara la diferencia/ utilidad entre datos públicos y privados...

En fin, pues marco el tema como solucionado y muchas gracias vangodp.
  #37 (permalink)  
Antiguo 11/06/2015, 17:50
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

Los constructores se usan para dar un valor inicial a la hora de crear un objeto de la clase. Pero luego después se suele usar los seters para ello.

Una de las razones de peso de el porque se usa constructores puede ser por ejemplo a la hora de inicializar un objeto en caso de herencia. Si heredas una clase no vas estar inicializando cada variable a mano, no tendría sentido seria muy penoso.

Las clases pueden tener varios niveles de herencia, cosa que haría imposible darle un valor inicial de no ser por los constructores. Por eso los constructores solo se usan a la hora de crear el objeto y los seters se usan después junto con los demás métodos.

Un constructor incluso puede hacer uso de los geters y seters si así lo deseas. por ejemplo....
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct cd {
  5. public:
  6.     cd ( float c, int d );
  7.     int getTotalcanciones() const;
  8.     void setPrecio(float unPrecio);
  9.     void setTotalcanciones(int nTotal);
  10.    
  11.    
  12. private:
  13.     float precio;
  14.     int totalcanciones;
  15. };
  16.  
  17. cd::cd ( float c, int d ) {
  18.     setPrecio(c);
  19.     setTotalcanciones(d);
  20. }
  21.  
  22. int cd::getTotalcanciones() const{
  23.     return totalcanciones;
  24. }
  25.  
  26. void cd::setPrecio(float unPrecio){
  27.     precio = unPrecio;
  28. }
  29. void cd::setTotalcanciones(int nTotal){
  30.     totalcanciones = nTotal;
  31. }
  32.  
  33. int main() {
  34.     cd cd2 ( 12, 15 );
  35.     cout << cd2.getTotalcanciones() << endl << endl;
  36.    
  37.     cin.ignore();
  38. }

La finalidad de los constructores te va quedar más clara con la herencia ya lo verás. Y por supuesto creo que te estás adelantando algo si aun estas en las estructuras, pues eso es tema de clases. No se si ya has pasado por los punteros.

En fin... Ten por seguro que la programación todo tiene un porque, nada esta ahí porque sí, creame, simplemente toma como se te explico y sigue adelante, por que son cosas que dependen de otras para entenderlo. si vieras el primer vídeo de clases entenderías lo que te digo, pues el que hace el vídeo lo dice igual que yo, parece que la finalidad de hacer una variable privada es poner trabas a la programación, pero no es así, necesitas seguir avanzando para entender el porque.
Tome como religión, si te dicen que eso es así tu palante >_<.
  #38 (permalink)  
Antiguo 11/06/2015, 18:28
Avatar de 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).

Cita:
Iniciado por vangodp Ver Mensaje
Los constructores se usan para dar un valor inicial a la hora de crear un objeto de la clase. Pero luego después se suele usar los seters para ello.

Una de las razones de peso de el porque se usa constructores puede ser por ejemplo a la hora de inicializar un objeto en caso de herencia. Si heredas una clase no vas estar inicializando cada variable a mano, no tendría sentido seria muy penoso.

Las clases pueden tener varios niveles de herencia, cosa que haría imposible darle un valor inicial de no ser por los constructores. Por eso los constructores solo se usan a la hora de crear el objeto y los seters se usan después junto con los demás métodos.

Un constructor incluso puede hacer uso de los geters y seters si así lo deseas. por ejemplo....
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct cd {
  5. public:
  6.     cd ( float c, int d );
  7.     int getTotalcanciones() const;
  8.     void setPrecio(float unPrecio);
  9.     void setTotalcanciones(int nTotal);
  10.    
  11.    
  12. private:
  13.     float precio;
  14.     int totalcanciones;
  15. };
  16.  
  17. cd::cd ( float c, int d ) {
  18.     setPrecio(c);
  19.     setTotalcanciones(d);
  20. }
  21.  
  22. int cd::getTotalcanciones() const{
  23.     return totalcanciones;
  24. }
  25.  
  26. void cd::setPrecio(float unPrecio){
  27.     precio = unPrecio;
  28. }
  29. void cd::setTotalcanciones(int nTotal){
  30.     totalcanciones = nTotal;
  31. }
  32.  
  33. int main() {
  34.     cd cd2 ( 12, 15 );
  35.     cout << cd2.getTotalcanciones() << endl << endl;
  36.    
  37.     cin.ignore();
  38. }

La finalidad de los constructores te va quedar más clara con la herencia ya lo verás. Y por supuesto creo que te estás adelantando algo si aun estas en las estructuras, pues eso es tema de clases. No se si ya has pasado por los punteros.

En fin... Ten por seguro que la programación todo tiene un porque, nada esta ahí porque sí, creame, simplemente toma como se te explico y sigue adelante, por que son cosas que dependen de otras para entenderlo. si vieras el primer vídeo de clases entenderías lo que te digo, pues el que hace el vídeo lo dice igual que yo, parece que la finalidad de hacer una variable privada es poner trabas a la programación, pero no es así, necesitas seguir avanzando para entender el porque.
Tome como religión, si te dicen que eso es así tu palante >_<.

Muchas gracias amigo. Nuevamente, como no sé qué es una herencia, lo único que hago es liarme más XDDD


De todas formas creo que todo este estudio en apariencia infructuoso de los constructores me va a ayudar después, cuando llegue de verdad a las clases y objetos. Me ha dado una noción que aunque inexacta e imprecisa, ayudará a que configure mi cabeza hacia una correcta comprensión posterior.


Y sí, estoy seguro que todo tiene un por qué, y es el entender bien las cosas lo que hace que pregunte tanto. Me da miedo avanzar sin tener ciertas cosas claras, pero a veces no queda más remedio porque se ha adelantado uno demasiado.

Los punteros sí los he visto, pero son mi otro gran hueso (entender su por qué, qué hace que los arrays sean punteros, y su interrelación con las memorias dinámicas sobre todo, las cuales tampoco termino de entender bien).

Seguramente sobre esto van a ir mis siguientes hilos XD

Son muchos conceptos y muchas cosas. Poco a poco. Si al menos terminara de entender bien punteros y memorias dinámicas (al menos lo básico), antes de pasar a Java, me daría por ahora por contento en cuanto a C++.

Lo único que tengo claro es que cuanto más aprendo más me gusta. Temo que algún día me estalle la cabeza (intento solucionar una duda y salen dos o tres más, cual Hydra XD), pero creo que si no lo consigo en 2 horas, lo conseguiré en 20. Eso y no hacer caso a quienes intentan desanimarte (que sé que me los voy a encontrar), es la clave.

Última edición por BramSt; 11/06/2015 a las 18:36
  #39 (permalink)  
Antiguo 12/06/2015, 03:14
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

Claro.. son muchos conceptos para preguntar en un solo tema. Como dije, el propósito de un foro no es el de ayudar solamente el que tiene las dudas, si no para que sirva de consulta a todos los que pasaron por el mismo problema. Seguramente en ese mismo foro alguien ya pregunto lo mismo que tu, por lo general deberíamos hacer alguna búsqueda a ver si encontramos algo que ya fue creado anteriormente antes de lanzar un nuevo tema.

Entonces si estás seguro de no encontrar ayuda anterior, entonces creas un nuevo tema, pero teniendo en cuenta que necesitas poner de forma más clara posible el post, para que sea encontrado fácilmente por futuras búsquedas echas por otros programadores.

Si llegas a ver los vídeos que te puse y no tienes problemas al ir pasando por ellos, que te hayan quedado claro, no veo impedimento a que te pongas con las clases, por otro lado, si te quedo dudas, por ejemplo con punteros, te sugiero que repases ese tema. C++ te va hacer muchas veces volver a estudiar lo básico hasta que comprendas muy bien la cosa. Yo a día de hoy con más de dos años en C++ aun me encuentro volviendo en cosas tan niñas como scanf, cout, switchs, punteros.... Siempre me da un blanco y debo volver a releer cosas que ya las he leído, creo que es normal, al menos para mi vamos, seguro hay el que es como una computadora y es capaz de recordar hasta las comas. XDDD

Si quieres hablar algo mejor, puedes agregarme en skype.. allá me llamo igual, te puedo ayudar a entender algo más, dentro de lo posible claro. XD
  #40 (permalink)  
Antiguo 13/06/2015, 00:14
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 10 meses
Puntos: 28
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

Cita:
Iniciado por vangodp Ver Mensaje
La utilidad justo es esa... es no dejar que llames directamente a totalcanciones. Si quieres hacer eso mejor ponga en la parte publica, lo que hace que tenga aun menos sentido ya que trabajar con clases es asegurar que no se pueda tener acceso externo a las variables miembro.

En vez de llamar directamente, lo que necesitas es llamar a algún método geter que te devuelva el entero para ti, ya que solo puedes acceder desde la parte publica de la misma clase.

Seria hacer lo mismo que hiciste con el constructor pero el inverso. Te dejo el ejemplo.
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct cd {
  5. public:
  6.     cd ( float c, int d );
  7.     int getTotalcanciones() const;
  8. private:
  9.     float precio;
  10.     int totalcanciones;
  11. };
  12.  
  13. cd::cd ( float c, int d ) {
  14.     precio = c;
  15.     totalcanciones = d;
  16. }
  17.  
  18. int cd::getTotalcanciones() const{
  19.     return totalcanciones;
  20. }
  21.  
  22. int main() {
  23.     cd cd2 ( 12, 15 );
  24.     cout << cd2.getTotalcanciones() << endl << endl; //Método geter o consultor
  25.    
  26.     cin.ignore();
  27. }
Esa es una función miembro a la que se le llama geter, y la que modifica el valor se le dice seter.

Entonces suponiendo que tienes una variable miembro llamada int valor, si quieres obtener dicha variable, llamas a getValor() por ejemplo, y si la vas a modificar seria setValor(unValor), donde un valor es un entero que queremos asignar el valor. Fácil, busque sobre métodos geters y seters en C++ y ya lo verás.

También se les dice métodos consultores e modificadores.

Si vas aquí http://v1.minidosis.org/C++/ ...a la parte al final donde dice 20.Clases, encontrarás todo sobre el tema.

Espero que te haya servido.

PD: No alargue más el tema, que ya es muy largo... Dale por concluido, si tienes más dudas abra otro especifico. Los temas sirven para ayudar otras personas, y deben ser cortos y claros. hace tiempo que ese dejo de ser eso.

Suerte.
Los modificadores public/private no se pueden usar en un struct, tiene que ser un class.

¿Eso te compila?
  #41 (permalink)  
Antiguo 13/06/2015, 10:26
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

Pues si que me compila. La verdad es que no se que decir, también lo extrañe algo. XDD
Me da 2 warnings pero no se por que.

A ti no te compila?


Por si sirve de algo uso mingw-w64 y codeblocks nightly build

XDD
  #42 (permalink)  
Antiguo 15/06/2015, 17:21
Avatar de 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).

A mí sí me compiló usando private dentro del struct...

Tomo nota de lo de Skype, gracias vangodp :)
  #43 (permalink)  
Antiguo 15/06/2015, 17:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

Es que el struct de C++ no es exactamente igual al de C.
El de C++ si contempla tener zona pública y zona privada.

En este aspecto, la diferencia entre struct y clase en C++ es que si no especificas, en el struct los miembros y métodos serán públicos por defecto, y en las clases serán privados.

Mira esto:
Código C++:
Ver original
  1. class A
  2.     {
  3.         int a;
  4.     };
  5.  
  6.     struct B
  7.     {
  8.         int b;
  9.     };
  10.  
  11.     int main( )
  12.     {
  13.  
  14.       A algo;
  15.       B otroalgo;
  16.       algo.a=9;
  17.       otroalgo.b=10;
  18.     }

Si intentas compilarlo se quejará porque estás intentando acceder al miembro a de la clase A que es privado. Sin embargo no hay problema en acceder al miembro de la clase B.

Por cierto, no me he leído este hilo tan extenso, pero por si te sirve de algo, te digo una idea aproximada de lo que es un constructor.

Imagina una caja con piezas de Lego. La caja es la clase o estructura, y las piezas son los miembros (variables u objetos) de la clase.

Con esas piezas tú puedes hacer muchas cosas, pero te interesa darles una forma determinada, para tener un objeto determinado que haga lo que tu realmente quieres obtener.
Entonces es donde entra el juego el constructor. Es como coger un puñado amorfo de piezas y darles una forma, pasando de ser piezas sueltas a una figura.
Igualmente coges los miembros de la clase/struct y los dispones de tal forma que llegues a tener un objeto.

Es una idea un poco tonta, pero si te puede valer....

Saludos
__________________
Mi calculadora en Qt
  #44 (permalink)  
Antiguo 16/06/2015, 00:11
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

Cita:
Iniciado por amchacon Ver Mensaje
Los modificadores public/private no se pueden usar en un struct, tiene que ser un class.

¿Eso te compila?
Como ha dicho @dehm, en C++ clases y structs únicamente se distinguen en la visibilidad por defecto... en las clases la visibilidad por defecto es privada y en los structs, pública.

Salvo esto, clases y structs son, a todos los efectos, exactamente iguales... soportan herencia, encapsulación, polimorfismo, ...

Un saludo.
  #45 (permalink)  
Antiguo 16/06/2015, 04:30
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

yo había leído que eran iguales... Pero no pensé que eran tan iguales así XDD

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:35.