C/Visual C - Que quiere decir esto en este cosntructor

 
Vista:

Que quiere decir esto en este cosntructor

Publicado por Oliver Ramirez (339 intervenciones) el 16/07/2002 15:23:15
class Pila
{
public:
Pila(): primero(0) {};//que es esto de los dos puntos y la definicion
.
.
(Lo que me interesa saber es para que es esta definicion y no el proposito en este ejemplo)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Que quiere decir esto en este cosntructor

Publicado por margalte (2 intervenciones) el 16/07/2002 18:27:52
Es una manera de iniciar los datos miembro de una clase. Pudo haber sido(es decir le estas asignando un valor a primero):
class pila{
public:
pila(){primero=0;}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Que quiere decir esto en este cosntructor

Publicado por chuidiang (677 intervenciones) el 16/07/2002 21:55:19
Esa sintaxis te sirve para dos cosas:
1. Supon que la clase A hereda de la B. Cuando haces new A, el compilador llama al constructor sin parámetros de la clase padre de A (es decir, de B) y luego al de A. Si no quieres que al hacer new de A se llame al constructor sin parámetros de B, esta es la forma de indicar a qué constructor de B quieres que se llame y qué parámetros se le deben pasar.
2. Cuando la clase A tiene un atributo que es una clase B con un constructor con parámetros ("Pila" y "primero" en tu ejemplo) , la forma de decirle que llame a ese constructor es como en tú ejemplo.

Si no hubiera esta sintaxis, siempre se llamaría por defecto al constructor sin parámetros de B, tanto si es padre como si es atributo de A.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Que quiere decir esto en este cosntructor

Publicado por Javier (59 intervenciones) el 18/07/2002 06:20:13
Hola:
La función Pila es la constructura de la clase homónima.
Aparentemente la función primero(0), es la constructura de la clase primero, de la que supuestamente Pila, deriva. Los dos puntos sirven para que la constructora Pila invoque al constructor primero.
Digo supuestamente, pues la clase Pila debería crearse así:
class Pila: public primero // por ejemplo.
{
:
}

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar