Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Constructores en c++

Estas en el tema de Constructores en c++ en el foro de C/C++ en Foros del Web. Saludos.. como puedo hacer que se inicialice un constructor con cadenas de caracteres? class EMPLEADO { public: char rfc[9]; char nombre[20]; private: float calcular(); }...
  #1 (permalink)  
Antiguo 10/05/2011, 22:00
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 13 años, 6 meses
Puntos: 0
Constructores en c++

Saludos..
como puedo hacer que se inicialice un constructor con cadenas de caracteres?

class EMPLEADO {
public:
char rfc[9];
char nombre[20];
private:
float calcular();
}
  #2 (permalink)  
Antiguo 11/05/2011, 01:23
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 10 meses
Puntos: 89
Respuesta: Constructores en c++

¿Que quieres hacer exactamente? ¿Dar un valor a las cadenas?
  #3 (permalink)  
Antiguo 11/05/2011, 12:00
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Constructores en c++

Estas hablando del contructor de la clase??


Código C++:
Ver original
  1. class EMPLEADO {
  2. public:
  3. char rfc[9];
  4. char nombre[20];
  5. EMPLEADO(char * n, char * r){
  6.          rfc = r;
  7.          nombre = n;
  8. }
  9.  
  10.  
  11. private:
  12. float calcular();
  13. }


despues haces EMPLEADO * e = new EMPLEADO(rfc,nombre);
  #4 (permalink)  
Antiguo 11/05/2011, 12:08
 
Fecha de Ingreso: junio-2005
Mensajes: 93
Antigüedad: 19 años, 5 meses
Puntos: 9
Respuesta: Constructores en c++

sam90, no funcionaria ya que lo que estas haciendo es tratar modificar el valor del puntero rfc por el r, lo cual en este caso no es posible.

lo correcto sería

strcpy(rfc, r);

strcpy(nombre, n);

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:19.