1-ma’ruza. Noma'lum nomlarning noma'lum turlari va maydoni
Ma’ruza rejasi: Kirish
Dastur davomida ob'ekt turini aniqlash
O’zqaruvchi qiymatlarni bir turga keltitrish, dynamic_cast, cosnst_cast, static cast va reinterpret_cast operatorlari.
Nomlar fazosi. namespace operatori, using directivasi.
Nazariy savollar
Kirish Turlarning dinamik identifikatsiyasi va turdagi operatorlar.
Ushbu ma’ruzada zamonaviy ob'ektga asoslangan dasturlarni qo'llab-quvvatlaydigan ikkita C++ vositasini o'z ichiga oladi: dinamik identifikatsiyalash turlari (runtime type identification - RTTI) va qo'shimcha turdagi haydash operatorlari to'plami. Ushbu vositalarning hech biri original C ++ spetsifikatsiyasining bir qismi emas edi, lekin ikkalasi ham ish vaqti polimorfizmini qo'llab-quvvatlashni kuchaytirish maqsadida qo'shildi. RTTI ostida dastur davomida ob'ekt turini aniqlash imkoniyati tushuniladi. Bu erda ko'rib chiqilayotgan turdagi operatorlar dasturchiga ushbu operatsiyani bajarish uchun xavfsizroq usullarni taklif qilishadi. Quyida ko'rsatilganidek, ulardan biri dynamic_cast, RTTI identifikatsiya qilish bilan bevosita bog'liq, shuning uchun rtti turi operatorlari va RTTI bir ma’ruza ichida ko'rib chiqish mantiqan.
Dastur davomida ob'ekt turini aniqlash
Dastur ish davomida ob'ekt turini olish uchun typeid operatoridan foydalaning.
Dastur davomida ob'ekt turini olish uchun, operator typeid foydalaning. Buni amalga oshirish uchun dasturga "typeinfo" nomini kiritishingiz kerak. typeid operatoridan foydalanishning eng keng tarqalgan shakli quyidagicha.
typeid(object) Bu erda objekt turini aniqlash kerak bo'lgan ob'ektni bildiradi. Siz nafaqat ichki turni, balki dasturchi tomonidan yaratilgan sinfning turini ham so'rashingiz mumkin. Operator typeid turi ob'ektga link qaytaradi typeinfo sinfida mansub ob’ektga ko’rsatkich qaytaradi.