Declarar constante privada POO

Iniciado por RON06, 22 Abril 2011, 19:00 PM

0 Miembros y 1 Visitante están viendo este tema.

RON06

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 :)

ssaammuu

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:

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.

#define PI 3.14159

RON06

@ ssaammuu

Gracias por la ayuda, era lo que buscaba  ;D