21/01/2011, 10:34
|
| | Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 11 meses Puntos: 1 | |
Respuesta: Destructor de objeto los destructores no necesarios almenos que utilices punteros. ya que la memoria almacenada por estos no es destruida de manera automatica. asi supongamos que lugar de que nombre fuera de tipo string fuera de tipo char*. Cabe destacar algunos comentarios cuando declares una clase acostumbrate a anteponerle una C, en tu caso el nombre de la clase sería CPractica, cuando declares un atributo, que sea privado anteponle un _, en tu caso _saludo,
Practica::Practica():saludo(NULL){}
void Practica::setSaludo(string strSaludo)
{ cout << "Hola "<< saludo << endl;
if(saludo)
delete [] saludo;
saludo = new char[strSaludo.size()+1];
strcpy(saludo, strSaludo.c_str());
}
Practica::~Practica
{
if(saludo!=NULL)
delete saludo;
}
a diferencia de java no es necesario
Practica pra = Practica();
solo
Practica pra;
ya que de esta forma se manda a llamar al constructor por default
otra cosa solo pon en la función lo que tenga que hacer. por ej. en tu método setSaludo, mandas a llamar a cout, pero por el nombre de tu método uno supondría que vas a establecer el saludo. |