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

Problema con constructor y punteros

Estas en el tema de Problema con constructor y punteros en el foro de C/C++ en Foros del Web. A ver l problema es es este: tengo esta clase Código: class cadena { char *ch; int longitud; public: cadena(){ch=0;}; cadena(const char* ); ~cadena(); cadena ...
  #1 (permalink)  
Antiguo 02/06/2008, 10:12
 
Fecha de Ingreso: diciembre-2007
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 0
Problema con constructor y punteros

A ver l problema es es este: tengo esta clase

Código:
class cadena {
		char *ch;
		int longitud;
public:
	cadena(){ch=0;};
	cadena(const char*  );
	~cadena();
	cadena operator+(const cadena&)const;
	void visualizar(){std::cout <<ch;}
};
y el constructor que recibe una cadena no se que est mal.
Código:
cadena::cadena(const char* cad){
	 strcpy(ch,cad);
 };
Al pasar el debug me pone infraccion de acceso en el strcpy...ya e buscao por google y nose donde estara el error, seguro que es una tonteria pero no hay manera.:S

Gracias
  #2 (permalink)  
Antiguo 02/06/2008, 14:13
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Respuesta: Problema con constructor y punteros

Si ch apunta a NULL:
Código:
...
cadena(){ch=0;};
...
¿a donde estás copiando el contenido de cad?
Código:
...
strcpy(ch,cad);
...
Deberías reservar memoria para ch antes de asignarle algo.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
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 15:55.