Виртуальді функциялар деп базалық класта virtual қызметші сөзімен анықталатын және бір немесе бірнеше туынды кластарда қайта анықталатын функцияларды айтамыз. Әртүрлі кластардағы функция прототиптері тек аттарымен ғана емес, сонымен қатар қайтаратын мән типтерімен де сәйкес келулері қажет. Егер функция прототиптері сәйкес келмесе, онда олар үшін виртуальділік қосылмайды.
Виртуальді болып хабарланған функция қанша туынды класс құрылса да, виртуальді болып қала береді. Бірақ кей кездерде бір немесе бірнеше туынды кластарда виртуальді функцияны қайта анықтау болмауы мүмкін. Виртуальді функция міндетті түрде қандай да бір кластың компоненті болуы қажет. Ол басқа класқа достық функция ретінде хабарлана алады, бірақ статикалық болып хабарлана алмайды.
Ең болмағанда бір виртуальді функцияны қамтитын класс полиморфты деп аталады, осындай класс объектісі де полиморфты болып табылады.
Достарыңызбен бөлісу: |