C/Visual C - Constante adentro de una clase

 
Vista:

Constante adentro de una clase

Publicado por Emiliano García Albisini (7 intervenciones) el 06/12/2001 14:55:19
Hola.
¿Alguien sabe si puedo tener una constante (por ej : const int val;) dentro de una clase, y en ese caso como la inicializo?
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:Constante adentro de una clase

Publicado por Googol (255 intervenciones) el 07/12/2001 14:22:25
No se puede inicializar variables miembro en la declaración de la clase, así que en principio no se podrían tener const, porque no habría donde incializarlas:

class MiClase {
const int val = 0; // No se puede
MiClase() { val = 0; } // Tampoco, pues es una constante, y no se
// pueden hacer asignaciones a ella.
}

Para eso añadieron la posibilidad de declarar "inicializadores" en el constructor, para inicializar variables miembro fuera del código del constructor. Para lo que tú quieres:

class MiClase {
MiClase();
const int val;
}

MiClase::MiClase() : val(0) {
// Código del constructor
}

Después de la declaración del constructor, van unos ':', y luego el nombre de la variable a inicializar, y entre paréntesis el valor:

MiClase:MiClase() : var1(valor1), var2(valor2), ... , varN(valorN) {
}

Espero que te sirva!
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:Constante adentro de una clase

Publicado por Raul Correa Albisini (2 intervenciones) el 21/07/2007 00:33:29
Me gustaría saber que parentesco tienes con Claudio García Albisini y donde estás radicado
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:Constante adentro de una clase

Publicado por Raul Correa Albisini (2 intervenciones) el 21/07/2007 00:35:46
Me gustaría saber que parentesco tienes con Claudio García Albisini y donde estás radicado
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