Título: problema al crear una clase en visual studio Publicado por: fhrida2006 en 30 Marzo 2011, 10:03 am este es el archivo .h
class Trabajador { private: //public: char nombre[20]; // Atributo char apellido[20]; // Atributo char puesto[20]; // Atributo int horastrabajadas; //Atributo double costohora; // Atributo double costohoraextra;// Atributo double sueldo; // Atributo public: //Constructores Trabajador( ); Trabajador(char nombre1[20], char apellido1[20], char puesto1[20], double costohora1, double costohoraextra1); Trabajador(const Trabajador & unaInstancia); //Destructor ~Trabajador( ); char obtenernombre ( ) const; // Servicio char obtenerapellido ( ) const; // Servicio char obtenerpuesto ( ) const; // Servicio int obtenerhorastrabajadas( ) const; // Servicio double obtenercostohora ( ) const; // Servicio double obtenercostohoraextra ( ) const; // Servicio double obtenersueldo ( ) const; // Servicio void asignarnombre (char nombre); // Servicio void asignarapellido (char apellido); // Servicio void asignarpuesto (char puesto); // Servicio void asignarhorastrabajadas(int horastrabajadas); // Servicio void asignarcostohora (double costohora); // Servicio void asignarcostohoraextra (double costohoraextra); // Servicio double calcularsueldo () const; // Servicio }; estos son mis constructores #include "Trabajador.h" #include "string.h" //***************CONSTRUCTORES********************** Trabajador::Trabajador( ) { strcpy(nombre,"ninguno"); strcpy(apellido,"ninguno"); strcpy(puesto,"ninguno"); horastrabajadas = 0; costohora = 0.0; costohoraextra = 0.0; sueldo = 0.0; } Trabajador::Trabajador (char nombre1[20], char apellido1[20], char puesto1[20], double costohora1, double costohoraextra1) { strcpy(nombre,nombre1); strcpy(apellido,apellido1); strcpy(puesto,puesto1); horastrabajadas=0; costohora=costohora1; costohoraextra= costohoraextra1; sueldo=0.0; } Trabajador::Trabajador(const Trabajador & unaInstancia) { this->nombre;//=unaInstancia.nombre; this->apellido;//=unaInstancia.apellido; this->puesto;//=unaInstancia.puesto; this->horastrabajadas=unaInstancia.horastrabajadas; this->costohora=unaInstancia.costohora; this->costohoraextra=unaInstancia.costohoraextra; this->sueldo=unaInstancia.sueldo; } //****************DESTRUCTOR************************** Trabajador::~Trabajador( ) { // Nada que liberar } //****************SERVICIOS*************************** char Trabajador::obtenernombre( ) const { return (nombre); }/* char Trabajador::obtenerapellido( ) const { return (this->apellido); } char Trabajador::obtenerpuesto( ) const { return (this->puesto); } */ int Trabajador::obtenerhorastrabajadas( ) const { return (this->horastrabajadas); } double Trabajador::obtenercostohora( ) const { return (this->costohora); } double Trabajador::obtenercostohoraextra( ) const { return (this->costohoraextra); } double Trabajador::obtenersueldo( ) const { return (this->sueldo); } //*****************servicios de asignación******************* void Trabajador::asignarnombre(char nombre ) { this->nombre;//=nombre; } void Trabajador::asignarapellido(char apellido) { this->apellido;//=apellido; } void Trabajador::asignarpuesto(char puesto) { this->puesto;//=puesto; } void Trabajador::asignarhorastrabajadas(int horastrabajadas) { this->horastrabajadas=horastrabajadas; } void Trabajador::asignarcostohora(double costohora) { this->costohora=costohora; } void Trabajador::asignarcostohoraextra(double costohoraextra) { this->costohoraextra=costohoraextra; } double Trabajador::calcularsueldo( ) const { return (this->horastrabajadas * this->costohoraextra); } el detalle es que no se como leer la cadena de caracteres de mis trabajadores creados Título: Re: problema al crear una clase en visual studio Publicado por: El_Java en 30 Marzo 2011, 18:50 pm Para asignar string lo mejor es usar la libreria estandar string.h, http://es.wikipedia.org/wiki/String.h (http://es.wikipedia.org/wiki/String.h), usando strcpy(destino, origen) es muy facil.
Código
Saludos |