Како имплементирати преоптерећење и поништавање функција у Ц ++?

Овај чланак ће вас упознати са преоптерећењем функција и премошћивањем у Ц ++-у, што су два врло важна концепта ООПС-а.

Ц ++ је у природи и може се похвалити разним особинама. У овој сесији разговарали бисмо о томе како имплементирати преоптерећење функције и надјачавање функције у Ц ++.

Следећи путокази ће бити обрађени у овом чланку,





Настављамо са овим чланком о Преоптерећењу и замени функција у Ц ++

Преоптерећење функције



Функције које имају исто име, али различите параметре, дозвољене су у Ц ++ и позивају се Преоптерећење функције . Такође се назива полиморфизам током времена компајлирања.

На пример:

сума (инт а, флоат б) сума (инт а, инт б) сума (инт а, инт б, инт ц)

Овде постоје три функције са истим именом, али једино што их разликује је то што су параметри различити за сваку. Дакле, у зависности од прослеђених параметара, позива се функција.



Ако су повратни типови функција различити, онда се сматра неважећим.

Настављамо са овим чланком о Преоптерећењу и замени функција у Ц ++

Пример кода за функцију преоптерећења

укључити коришћење простора имена стд класа Додатак {публиц: инт адд (инт н1, инт н2) {ретурн н1 + н2} инт адд (инт н1, инт н2, инт н3) {ретурн н1 + н2}} инт маин (воид) {Додатак куда< 

Оутпут

Излаз - Преоптерећење и замена функције у Ц ++ - Едурека

Објашњење

како пронаћи тип података у питхон-у

У горњем програму имамо две функције у класи сабирања. Оба именована додају. Један има 2 параметра, а други 3 параметра.

У главној функцији креирамо објекат додавања класе под називом а. Зовемо функције додавања са 2 и 3 параметра, а функције сазива се позивају и извршавају сабирање.

Тако се одвија преоптерећење функције.

Настављамо са овим чланком о Преоптерећењу и замени функција у Ц ++

Замена функције

Када изведена класа има функцију са истим именом као функција основне класе, она се позива Замена функције. Обе функције морају имати исте параметре у обе класе.

Узорак кода за надјачавање функције

#инцлуде усинг спаце намес стд цласс БасеЦласс {публиц: воид дисп () {цоут<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

Излаз:

Објашњење:

У горњем програму приказујемо основну функцију са истим именом у изведеној и основној класи. Овде се објекат креира из изведене класе, па када зовемо дисплаи приказује се само објект подређене класе.

Настављамо са овим чланком о Преоптерећењу и замени функција у Ц ++

Налог за извршење замене

Размотрите код:

#инцлуде усинг спаце намес стд цласс БасеЦласс {публиц: воид дисп () {цоут<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

Излаз:

пример позивања јава удаљеног метода

Објашњење:

У горњем програму приказујемо основну функцију са истим именом у изведеној и основној класи. Овде је једина разлика у односу на претходни програм у томе. Креирамо објекат класе детета. Објекат подређене класе добија референцу на основну класу. То се такође може учинити употребом друге методе,

Синтакса

Име_разреда родитеља :: функција ()

У горњем примеру, користимо га као,

БасеЦласс :: дисп ()

Ово је још један начин надјачавања.

Преоптерећење функције ВС Замена функције

Преоптерећење функције Замена функције
Обим је истиОбим је различит
Потписи се морају разликовати (нпр: параметар)Потписи морају бити исти
Број могућих функција преоптерећењаМогућа је само једна функција замене
Може се десити без наследстваУглавном се јавља због наследства

Тако смо дошли до краја овог чланка о „Преоптерећењу и замени функције у Ц ++“. Ако желите да сазнате више, погледајте Едурека, поуздана компанија за учење на мрежи. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА осмишљен је тако да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога и јавићемо вам се што је пре могуће.