Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: RON06 en 22 Abril 2011, 19:00 pm



Título: Declarar constante privada POO
Publicado por: RON06 en 22 Abril 2011, 19:00 pm
Hola a tod@s!

Hace poco que he empezado la programación orientada a objetos (POO) y quisiera saber como se crean constantes privadas en los archivos .h

Dentro de la class, hay la parte public y la private (en la private declaro los atributos).

He intentado declarar una constante en la parte privada como:

const double PI = 3.14159;

Pero el compilador se queja, alguien sabe com se hace para declara una constante privada?  Gracias :)


Título: Re: Declarar constante privada POO
Publicado por: ssaammuu en 22 Abril 2011, 21:00 pm
El valor de la constante hay que indicarlo cuando se declara la constante. Esto no es posible dentro de la declaración de la clase por lo que se hace así para que se ejecute justo antes de crear el objeto:
Código:
class clase{
    public:
    clase();

    private:
    const double PI;
};

clase::clase():PI(3.14159){
}

Aunque me parece una tontería hacer esto ya que no te hace falta la constante en cada objeto. Mejor hacer esto antes de la clase.
Código:
#define PI 3.14159


Título: Re: Declarar constante privada POO
Publicado por: RON06 en 23 Abril 2011, 00:48 am
@ ssaammuu

Gracias por la ayuda, era lo que buscaba  ;D