Виртуалды деструкторлар.
Класс конструкторы виртуалды болуы мүмкін емес, себебі ол типі белгілі объектті құрған кезде ғана шақырылады. Деструктор виртуалды бола алмайды. Оның қажеттілігі базалық класқа көрсеткішпен адрестелетін объекттің бұзылуымен байланысты. Егер бұл көрсеткіш өзінің жеке деструкторы бар туынды класс объектісіне сілтеме жасаса, онда көрсетілген объекттердің корректті бұзылу мәселесі виртуалды әдістерге ұқсас виртуалды деструкторлармен шешіледі. Егер осындай жағдайда деструктор виртуалды сияқты жарияланса, онда барлығы дұрыс орындалады- сәйкес туынды кластың деструкторы шақырылатын болады. Кейін туынды класс деструкторы автоматты түрде базалық класс деструкторын шақырады және белгіленген объект тұтастай жойылады. Бұдан мына ереже шығады: егер класта виртуалды әдістер жарияланса, онда деструкторда виртуалды бөлу керек.
Негізгі әдебиет- 5[б.10,3 59-365] [б.3,84-96] [б.10, 303- 313]
Достарыңызбен бөлісу: |