ЕСКЕРТУ
RTTI ақпаратын қолдану үшін программаға
тақырыптық файлын қосу
керек. Сонымен қатар, компилятордың соған сəйкес режимі де орнатылуы тиіс.
Полиморфты объект үшін
dynamic_cast
операциясының жүзеге асыры-
луы айтарлықтай тиімді болады, өйткені объектінің типі туралы ақпаратқа
сілтеме виртуалды əдістер кестесіне енгізіледі де, оған қол жеткізу жеңіл іске
асырылады.
Логикалық тұрғыдан алғанда да, объектінің полиморфты болу талабы
дұрыс шешім болып табылады: егер кластың виртуалды əдістері болмаса,
нұсқауыштың нақты түрдегі типін білместен, оны қауіпсіз түрде қолдану
мүмкін емес. Ал егер тип белгілі болса, онда
dynamic_cast
операциясын
қолданудың қажеті жоқ.
Нұсқауышқа
dynamic_cast
операциясын қолданудың нəтижесін
əрқашанда нақты түрде тексеру керек. Төмендегі мысалда
В
полиморфты
базалық класы жəне одан туынды болып келетін, құрамында
Достарыңызбен бөлісу: |