Zapouzdřený ukazatel



Vytvořte třídu pro práci s ukazateli, která umožní práci s ukazatelem tak, aby byla co nejvíce podobná standardní práci s ukazatelem, ale aby automaticky odalokovávala paměť, pokud tak neučiní uživatel.



Třída by měla pracovat tak, že zapouzdří ukazatel, a umožní s ním dále standardně pracovat. Nevýhodou práce s ukazateli (kterou má tento mechanizmus „vylepšit“) je to, že je nutné naalokovanou paměť odalokovat. To vadí například při volání výjimek, které toto odalokování neřeší. Proto navrhněte jednoduchou třídu, která je schopna odalokovat samostatně paměť (jelikož na každý objekt i při volání výjimek volán destruktor), přitom ale zachová co nejvíce původních vlastností ukazatele.

Tento ukazatel se bude používat pouze pro paměť, kterou alokujeme. Pro paměť odkazovanou bez alokace se bude používat standardní ukazatel.

Omezení: nesmí být přiřazen jinému zapouzdřenému ukazateli, nesmí být předáván z funce do nadřazené funkce



Řešení:









Poslední úpravy 2008-07-30





















































realizace