Savol javobi


Download 104.3 Kb.
bet2/3
Sana18.06.2023
Hajmi104.3 Kb.
#1575281
1   2   3
Bog'liq
dasturlash

dynamic_cast va const_cast operatorlari C++ dasturlash tilidagi tip almashtirish operatorlaridir.
dynamic_cast operatori polimorfizm (virtual funksiyalar orqali) yaratilgan klasslar orasida ishlaydi. Bu operator, turi ko'rsatilgan obyektning (yoki ishorasining) turini boshqa bir turka o'zgartirishga xizmat qiladi. Agar o'zgartirish uchun mos ravish topilmasa, dynamic_cast operatori NULL qiymatni qaytaradi.
const_cast operatori esa, obyekt yoki ishoraning const qiymatini o'chirib, const olmaydigan turiga o'zgartirishga xizmat qiladi. Bu operator faqat const ni o'chirishda yoki o'zgarishda ishlatiladi. constni o'chirish, ko'proq ko'pincha xatoliklar sababli tavsiya etilmaydi.
dynamic_cast operatorining kamchiliklari:

  • dynamic_cast operatori faqat virtual funksiyalar orqali yaratilgan klasslar orasida ishlaydi,

  • bundan boshqa turlar uchun xizmat qilmaydi.

  • dynamic_cast operatori ishlayotgan klasslarda ikkinchi klass bazaviy klass bo'lishi shart. Agar shartni buzilganda NULL qiymat qaytariladi.

  • dynamic_cast operatori runtime-da ishlaydi, shuning uchun u ishga tushirish vaqtida bajarilishi uchun qo'shimcha vaqt sarflanishi mumkin.

const_cast operatorining kamchiliklari:

  • const_cast operatori ishlatilganda, obyekt yoki ishoraning const qiymatini o'chirish natijasida kodda xatoliklar paydo bo'lishi mumkin.

  • const_cast operatori o'chirilgan const qiymatlari o'rnatish orqali dasturda xato keltirishi mumkin.

dynamic_cast operatorining yutuqlari:

  • dynamic_cast operatori turi bilinmaydigan klasslardan o'z turini aniqlashga yordam berishi mumkin.

  • dynamic_cast operatori turli klasslar orasida ishlovchi funksiyalarni ishga tushirishga imkon beradi.


  • Download 104.3 Kb.

    Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling