Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/08/2008, 11:16
Avatar de WaRc3L
WaRc3L
 
Fecha de Ingreso: agosto-2008
Ubicación: My House
Mensajes: 89
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: inicialisar variables en clases

pues, en teoria no se podria acceder a las variables privadas... si quieres acceder a las variables privadas puedes hacerlo diferentes maneras:

La primera: crear un constructor, que tenga dos parametros, en este caso de tipo int, y que pone los valores en las variables, si el valor tiene un valor fijo en todo el programa, puedes hacer que el constructor no tenga parametros, y lo inicializas normalmente dentro de la defincion. Me explico con un ejemplo:

Código:
// Declaracion, de la clase Clase
class Clase
{
     public:
       Clase(int Par01, double Par02); // Constructor

     private:
           int x;
           double y;

};

// Defincion de la clase Clase
Clase::Clase(int Par01,double Par02)
{
          x = Par01;
          y = Par02;
}
// main en otro fichero:

#include "Clase.h"

int main(void)
{
      Clase A(10,15); // Los dos parametros, se refieren al del constructor, 10 pasaria a Par01, y 15 a Par02, despues se inicializarian las variables x e y

        return 0;
}
La segunda: Si quieres hacerlo de otra forma, podrias crear una funcion, que sea para inicializar las variables, el numero de parametros en este caso ( como el ejemplo de arriba ) serian dos. Me explico con el siguiente ejemplo:
Código:
// Declaracion de la clase Clase
class Clase
{
         public:
                 void Inicializar(int A, double B);
          private:
               int x;
               double y;
};
// Definicion de la clase Clase

void Clase::Inicializar(int A,double B)
{
      x = A;
      y = B;
}

// main en un otro fichero

#include "Clase.h"

int main(void)
{
      Clase Var01;

      Var01.Inicializar(10,15.2); // Se acceda a los metodos publicos usando el punto ('.')
      return 0;
}
Tercera: Esta forma, no es recomendable, pero se puede hacer, podrias poner las variables publicas en vez de privadas, pero normalmente se inicializan con funciones publicas ( como el segundo ejemplo ).

Saludos! espero que te haya servido mi explicacion!

Última edición por WaRc3L; 16/08/2008 a las 11:19 Razón: Poner mas informacion