Конструктор (обектно ориентирано програмиране): Разлика между версии

Изтрито е съдържание Добавено е съдържание
Mishobg12 (беседа | приноси)
Редакция без резюме
Mishobg12 (беседа | приноси)
Редакция без резюме
Ред 109:
</code>
 
 
==Потенциални грешки при използването на конструктори и деструктори==
Често приложение на конструкторите и деструкторите е да се използват за съответно динамично заделяне и освобождаване на памет. Трябва да се внимава, тъй като може да се получат случаи, в които всеки обект от един клас да се опита да освободи едно и също пространство в паметта и респективно после да я освободи. Друг пример е при връщането на обект като резултат от функция - Създава се създава едно междинно копие на връщания обект, което не изпълнява конструктора на класа си, защото той вече е изпълнен за обекта, който се копира - т.е. копието е от настоящия момент. След връщането на този обект обаче ще се задейства деструктора не само на самия обект, който се връща, но и на междинния. Тогава двата обекта ще се опитат да освободят една и съща заделена памет.