la solcuion ah la pregunta 2
RECOLECCION DE BASURA
como los objetos se asignan dinamicamente , cuando estos objetos se destruyen sera necesrio verficar que la memoria ocupada por ellos ha queado liberada para usos posteriores. El procedimiento de liberacion es distinto segun el tipo de lenguaje Utilizado.
En C++ los objetos asignados dinamicamente se deben liberar utilizando un operador free o delete. Por el contrario Java y C# tienen un enfoque diferente. Manejan la liberacion de memoria de modo automatico la tecnica que utilizan se dedomina recoleccion de basura (garbage collection). Su funcionamiento es el sigueinte cuando no existe ninguna refrencia a un objeto, se supone que ese objego ya no se necesita, y la memoria ocupada por ese objeto puede ser recuperada(liberada). NO hay necesidad de destrir objetos explicitamente como hace
C++.La recoleccion de basura solo ocurre esporadicamente dureçante la ejecucion de su programa. No sucede simplemente porque los objetos dejen de ser utilizados.