Diferenças entre edições de "Programar em C++/Classes"

3 bytes adicionados ,  00h22min de 2 de setembro de 2015
Apenas para facilitar a leitura, havia uma pequena falha gramática. Espero que tenha ajudado aos leitores.
m (Foram revertidas as edições de Kelvinsteiner (disc) para a última revisão de Abacaxi)
(Apenas para facilitar a leitura, havia uma pequena falha gramática. Espero que tenha ajudado aos leitores.)
</source>
 
Este programa contém um bug sério e morre com uma exceção quando é executado. O problema é que o construtor que está sendo usado é para criar um objeto “manager" , mas ele copia o endereço no ponteiro _name em "manager".
 
Nos temos 2 pointers ambos contendo o mesmo endereço. Imagine que agora um novo empregado é contratado. quando o nome for atualizado, não apenas iremos alterar o nome do empregado mas também do gerente. Finalmente, quando os objetos deixarem de ser usados e o destrutor da classe fizer a liberação de espaço na memória tentará liberar duas vezes para o mesmo endereço, provocando um erro no sistema de alocação dinâmica de memória, o que forçará o sistema operacional a eliminar o programa da memória.
Utilizador anónimo