Virtual funktsiya va funktsiyani bekor qilish o'rtasidagi farq nima?
Virtual funktsiya va funktsiyani bekor qilish o'rtasidagi farq nima?

Video: Virtual funktsiya va funktsiyani bekor qilish o'rtasidagi farq nima?

Video: Virtual funktsiya va funktsiyani bekor qilish o'rtasidagi farq nima?
Video: INSONLAR SIZNI HURMAT QILISHI VA SIZGA QULOQ SOLISHLARINI XOHLAYSIZMI ? 2024, May
Anonim

Virtual funktsiyalar statik bo'lolmaydi va do'st bo'lolmaydi funktsiyasi boshqa sinfdan. Ular har doim asosiy sinfda aniqlanadi va bekor qilingan olingan sinfda. Olingan sinf uchun bu majburiy emas bekor qilish (yoki ni qayta belgilang virtual funktsiya ), bu holda asosiy sinf versiyasi funktsiyasi ishlatilgan.

Bundan tashqari, virtual funktsiya va sof virtual funktsiya o'rtasidagi farq nima?

Asosiy orasidagi farq ' virtual funktsiya" va "sof virtual funktsiya "bu" virtual funktsiya ' o'z ta'rifiga ega ichida asosiy sinf va meros qilib olingan hosila sinflar uni qayta belgilaydi. The sof virtual funktsiya ta'rifi yo'q ichida asosiy sinf va barcha meros qilib olingan hosila sinflar uni qayta belgilashi kerak.

Keyinchalik savol tug'iladi: C++ da funksiyani bekor qilish nima? C++ funktsiyasini bekor qilish . Agar olingan sinf xuddi shunday belgilaydi funktsiyasi uning asosiy sinfida belgilanganidek, u sifatida tanilgan funktsiyani bekor qilish C++ da. U ish vaqti polimorfizmiga erishish uchun ishlatiladi. Bu sizga aniq amalga oshirishni ta'minlash imkonini beradi funktsiyasi Bu allaqachon uning asosiy klassi tomonidan taqdim etilgan.

Xuddi shunday, odamlar nima uchun virtual funktsiyalardan foydalanamiz?

Virtual funksiyalar bor ishlatilgan "Ish vaqti polimorfizmi" ni qo'llab-quvvatlash uchun. Qachon virtual funktsiya Asosiy sinf ko'rsatkichi yordamida chaqirilganda, kompilyator Runtime'ning qaysi versiyasida qaror qabul qiladi funktsiyasi ya'ni asosiy sinf versiyasi yoki bekor qilingan Derived Class versiyasi chaqirilishi kerak. Bu ish vaqti polimorfizmi deb ataladi.

C++ da virtual bo'lmagan funksiyani bekor qila olasizmi?

C++ da barcha sinf a'zolari funktsiyalari bor yo'q - virtual avvalboshdan. Ular mumkin qilinsin virtual yordamida virtual ichida kalit so'z funktsiyasi imzo. Yuqorida aytib o'tilganidek agar the funktsiyasi bazaviy sinfdan iborat virtual keyin funktsiyasi Derived yoki Child sinfining funktsiyasi bir xil nom bilan bekor qilishi mumkin asosiy sinf funktsiyasi.

Tavsiya: