Źródło: Arkusze CKE
Jaką rolę odgrywa destruktor w definicji klasy?
Warianty odpowiedzi
-
A
Generuje nowe instancje klasy
-
B
Ustawia wartości pól klasy
-
C
Usuwa instancje i zwalnia pamięć
-
D
Realizuje testy jednostkowe klasy
Wyjaśnienie
Destruktor jest przeciwieństwem konstruktora. Jest to specjalna metoda wywoływana automatycznie wtedy, gdy obiekt kończy swój żywot i zostaje usunięty z pamięci.
Jego głównym zadaniem jest posprzątanie po obiekcie. Chodzi tu na przykład o ręczne zwolnienie przydzielonej pamięci dynamicznej, zamknięcie otwartych połączeń z bazą danych czy zamkniecie plików na dysku.
W językach z automatycznym zarządzaniem pamięcią (jak C# czy Java) destruktory używane są rzadziej ze względu na działanie Garbage Collectora, ale w C++ stanowią kluczowy element dbania o zasoby.