estoy usando el dev-c++
este es mi codigo algo sencillo, los que pasa es que tengo un problema con las variables char

h.

Código :

class Empleado{
          int id;
          char nombre[30];
          char direccion[100];
          char telefono[8];     
      public:
          Empleado();
          virtual ~Empleado();  
          //sets y gets
          void setId(int );
          int getId();
          void setNombre(char );
          char *getNombre();
          void setDireccion(char direccion);
          char *getDireccion();
          void setTelefono(char telefono);
          char *getTelefono();
      };


.cpp

Código :

Empleado::Empleado(){
                     }
Empleado::~Empleado(){
                      }
/////////////////////////////////////////////////////////////////sets y gets
void Empleado::setId(int id){
                    this->id=id;
                     }
int Empleado::getId(){
                  return id;
                  }
void Empleado::setNombre(char nombre){
                                        nombre=nombre;
                                        }
char * Empleado::getNombre(){
                             return nombre;
                             }
void Empleado::setDireccion(char direccion){
                                             direccion=direccion;
                                             }
char * Empleado::getDireccion(){
                                return direccion;
                                }
void Empleado::setTelefono(char telefono){
                                           telefono=telefono;
                                           }
char * Empleado::getTelefono(){
                               return telefono;
                               }


no ahi error en el compilador, pero no guarda las variables char cuando ejecuto por ejemplo setNombre("algo"); luego lo reviso con el getNombre y no tiene contenido... les agradeceria mucho si me pueden ayudar