Implementati e testati gli smartptr