Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2011, 17:55
JuaNiYoT
 
Fecha de Ingreso: octubre-2009
Mensajes: 13
Antigüedad: 14 años, 7 meses
Puntos: 0
Problema de novato con clases

Hola, estoy aprendiendo ahora c++ y para programar estoy usando eclipse, ahora bien, cuando defino una clase, uso una opción que trae de generar código fuente para que genere los get y set para la clase. El problema es que he dado con una clase en la que he metido un tipo enum y no me hace automáticamente los get y set, y he probado a hacerlos yo pero me da fallo. Si alguien me puede ayudar... aqui le dejo el fragmento de código. Gracias y un saludo.

Código:
/* EN CLIENTE.H */

class Cliente{
private:
	string DNI; /**<DNI sin letra*/
	string nombre; /**<Nombre separado por un espacio en blanco si es necesario*/
	unsigned int edad;
	enum estado_civil{soltero, casado, viudo, divorciado};
public:
    string getDNI() const;
    unsigned int getEdad() const;
    string getNombre() const;
    enum getEstado_civil() const; 
 /*error en esta linea - Multiple markers at this line
	- Syntax error
	- use of enum 'getEstado_civil' without previous 
	 declaration
	- expected unqualified-id before ')' token*/

    void setDNI(string DNI);
    void setEdad(unsigned int edad);
    void setNombre(string nombre);
    void setEstado_civil(enum estado_civil);
};
Código:
/*EN CLIENTE.CPP*/

string Cliente::getDNI() const
{
    return DNI;
}

unsigned int Cliente::getEdad() const
{
    return edad;
}

string Cliente::getNombre() const
{
    return nombre;
}


/*ERROR AQUI - - Syntax error
	- expected unqualified-id before ')' token
	- 'getEstado_civil' in class 'Cliente' does not 
	 name a type*/
enum Cliente::getEstado_civil() const
{
    return estado_civil;
}

void Cliente::setDNI(string DNI)
{
    this->DNI = DNI;
}

void Cliente::setEdad(unsigned int edad)
{
    this->edad = edad;
}

void Cliente::setNombre(string nombre)
{
    this->nombre = nombre;
}

void Cliente::setEstado_civil(enum estado_civil)
{
    this->estado_civil = estado_civil; 
/*ERROR
- expected primary-expression before 
	 ';' token
	- invalid use of 'enum 
	 Cliente::estado_civil'*/
}