Junior — Middle
Loyihalaringizda virtual destruktorlardan foydalanish bo'yicha tajribangiz bormi?
sobes.tech AI
AIdan javob
C++ da virtual destruktorlar, obyektlarni tozalash uchun asosiy sinfga ishora qilganda to'g'ri resurslarni bo'shatish uchun ishlatiladi. Agar sinfda virtual funksiyalar bo'lsa va meros olish rejalashtirilgan bo'lsa, destruktor virtual bo'lishi kerak, shunda delete chaqirilganda asosiy ko'rsatkich orqali, voris sinfning destruktori chaqiriladi.
Misol:
class Base {
public:
virtual ~Base() { std::cout << "Base destruktori" << std::endl; }
};
class Derived : public Base {
public:
~Derived() override { std::cout << "Derived destruktori" << std::endl; }
};
int main() {
Base* obj = new Derived();
delete obj; // Derived::~Derived() va keyin Base::~Base() chaqiriladi
}
Loyihalarimda, xotira va resurslarni to'g'ri boshqarish uchun virtual destruktorlardan foydalanardim, bu esa oqib ketishlar va noma'lum xatti-harakatlarni oldini oladi.