dynamic_cast <тип *> (өрнек)
Өрнек
класқа нұсқауыш немесе сілтеме болып, ал
тип
осы класс үшін
базалық немесе туынды класс болуы тиіс. Түрлендірудің орындалу мүмкіндігі
тексерілгеннен кейін, егер ол сəтті орындалса, операция берілген типтегі
нəтиже қалыптастырады, кері жағдайда нұсқауыш үшін нəтиже нөлге тең
1
бо-
лады, ал сілтеме үшін –
bad_cast
аластамасы туындайды. Егер берілген тип
пен өрнектің типі бір иерархияға жатпаса, түрлендіруді жүзеге асыру мүмкін
болмайды.
Базалық кластан туынды класқа түрлендіру төмендететін түрлендіру
(downcast) деп аталады, өйткені графикалық түрдегі мұралау иерархиясын-
да туынды кластар базалық кластардан төменірек бейнеленеді. Туынды кла-
стан базалық класқа келтіру жоғарылататын түрлендіру (upcast) деп, ал
бір базалық класс ішіндегі туынды кластар арасындағы немесе керісінше,
бір туынды кластың базалық кластары арасындағы келтіру операциялары
қиылысқан түрлендіру (crosscast) деп аталады.
Достарыңызбен бөлісу: |