Video: Виртуалдык функция менен функцияны жокко чыгаруунун ортосунда кандай айырма бар?
2024 Автор: Lynn Donovan | [email protected]. Акыркы өзгөртүү: 2023-12-15 23:50
Виртуалдык функциялар статикалык болушу мүмкүн эмес, ошондой эле дос боло албайт функция башка класстын. Алар ар дайым базалык класста аныкталат жана жокко чыгарылган туунду класста. Бул туунду класс үчүн милдеттүү эмес жокко чыгаруу (же кайра аныктаңыз виртуалдык функция ), бул учурда базалык класстын версиясы функция колдонулат.
Андан тышкары, виртуалдык функция менен таза виртуалдык функциянын ортосунда кандай айырма бар?
негизги ортосундагы айырма ' виртуалдык функция' жана 'таза виртуалдык функция 'булбу' виртуалдык функция ' деген аныктамасы бар ичинде базалык класс жана ошондой эле тукум кууп өткөн туунду класстар аны кайра аныктайт. The таза виртуалдык функция аныктамасы жок ичинде базалык класс жана бардык тукум кууп өткөн туунду класстар аны кайра аныкташы керек.
Кийинчерээк, суроо туулат, C++ тилинде функцияны жокко чыгаруу деген эмне? C++ Function Overriding . Эгерде туунду класс бирдей аныктайт функция анын базалык классында аныкталгандай, ал катары белгилүү функцияны жокко чыгаруу C++ тилинде. Бул иштөө убактысынын полиморфизмине жетүү үчүн колдонулат. Бул конкреттүү ишке ашырууну камсыз кылууга мүмкүндүк берет функция анын базалык классы тарабынан берилген.
Ошо сыяктуу эле, адамдар эмне үчүн виртуалдык функцияларды колдонобуз?
Виртуалдык функциялар болуп саналат колдонулган "Иш убактысынын полиморфизмин" колдоо. Качан виртуалдык функция Базалык Класс Көрсөткүчүн колдонуу менен чакырылса, Компилятор Runtime'дын кайсы версиясын чечет функция б.а. Базалык класстын версиясы же жокко чыгарылган Туунду класстын версиясы чакырылышы керек. Бул Run time Polymorphism деп аталат.
C++ тилинде виртуалдык эмес функцияны жокко чыгара аласызбы?
c++ тилинде класстын бардык мүчөсү функциялары болуп саналат жок - виртуалдык демейки боюнча. Алар болот жасалат виртуалдык колдонуу менен виртуалдык ичиндеги ачкыч сөз функция кол коюу. Жогоруда айтылгандай эгерде the функция базалык класс жасалган виртуалдык анда функция Туунду же Балдар классынын функция ошол эле ат менен жокко чыгара алат базалык класстын функция.
Сунушталууда:
C++теги виртуалдык функция менен таза виртуалдык функциянын ортосунда кандай айырма бар?
"Виртуалдык функция" менен "таза виртуалдык функциянын" ортосундагы негизги айырмачылык, "виртуалдык функциянын" негизги класста аныктамасы бар, ошондой эле тукум кууп өткөн туунду класстар аны кайра аныктайт. Таза виртуалдык функциянын базалык класста эч кандай аныктамасы жок жана бардык тукум кууган туунду класстар аны кайра аныкташы керек
Мисал менен Javaдагы абстракция менен инкапсуляциянын ортосунда кандай айырма бар?
Абстракция анын кандайча ишке ашырылгандыгынан жүрүм-турумду алып салууну билдирет, Javaдагы абстракциянын бир мисалы - интерфейс, ал эми Инкапсуляция тышкы дүйнөдөн ишке ашыруунун деталдарын жашыруу дегенди билдирет, ошондуктан нерселер өзгөргөндө эч ким таасир этпейт
Корутунду менен тыянак чыгаруунун ортосунда кандай айырма бар?
Төмөнкү сап: Корутунду чыгаруу бул сөз, бирок бул жаргон, бирок көпчүлүк баяндамачылар ансыз деле жасай алышат. Сергитүү: infer этиш: Корутунду же корутунду чыгаруу; бир нерседен экинчисине ой жүгүртүү. тыянак атооч: жыйынтыкталган нерсе
Боз түстөгү жана монохромдуу басып чыгаруунун ортосунда кандай айырма бар?
Боз түстөгү ак жана кара түстөгү сүрөттөр үчүн колдонулат. Көпчүлүк принтерлерде боз түс түстөрдү аралаштыруу жолу менен жасалат, ал эми монохром принтердеги кара сыя менен жөн гана басып чыгарылат. Боз түстөр ар кандай түстөгү ак жана кара сүрөттөр үчүн колдонулат
Методду жокко чыгаруу менен ыкманы жашыруунун ортосунда кандай айырма бар?
Методду жокко чыгарууда, базалык класстын шилтеме өзгөрмөсү туунду класстын объектисин көрсөткөндө, ал туунду класста жокко чыгарылган ыкманы чакырат. Методду жашырууда, базалык класстын шилтеме өзгөрмөсү туунду класстын объектисин көрсөткөндө, ал базалык класстагы жашыруун методду чакырат