Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/01/2011, 10:34
margarito04
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 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.