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'*/
}