Kaip įgyvendinti funkcijų perkrovimą ir nepaisymą programoje C ++?

Šis straipsnis supažindins jus su funkcijų perkrova ir nepaisymu C ++, kurios yra dvi labai svarbios OOPS sąvokos.

C ++ yra gamtoje ir pasižymi įvairiomis savybėmis. Šioje sesijoje mes diskutuosime, kaip įgyvendinti funkcijų perkrovimą ir funkcijų nepaisymą C ++.

Tolimesni rodyklės bus aprašyti šiame straipsnyje,

Toliau su šiuo straipsniu apie funkcijų perkrovimą ir nepaisymą C ++

Funkcija Perkrovimas

Funkcijos, turinčios tą patį pavadinimą, bet skirtingus parametrus, leidžiamos C ++ ir yra vadinamos Funkcija Perkrovimas . Jis taip pat vadinamas kompiliavimo laiko polimorfizmu.

Pavyzdžiui:

suma (int a, float b) suma (int a, int b) suma (int a, int b, int c)

Čia yra trys funkcijos tuo pačiu pavadinimu, tačiau vienintelis dalykas, kuris jas išskiria, yra tai, kad parametrai skiriasi. Taigi, atsižvelgiant į perduotus parametrus, iškviečiama funkcija.

Jei funkcijų grąžinimo tipai skiriasi, tai laikoma negaliojančia.

Toliau su šiuo straipsniu apie funkcijų perkrovimą ir nepaisymą C ++

abstrakcija c ++

Kodo pavyzdys, kai funkcija perkeliama

įtraukti naudojant vardų srities standartinę klasę Priedas {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Papildymas cout< 

Rezultatas

Išvestis - funkcijų perkrova ir nepaisymas C ++ - „Edureka“

Paaiškinimas

Aukščiau pateiktoje programoje mes turime dvi papildymo klasės funkcijas. Abu įvardyti prideda. Vienas turi 2 parametrus, kitas - 3 parametrus.

Pagrindinėje funkcijoje sukuriame klasės pridėjimo objektą, vadinamą a. Mes kviečiame pridėti funkcijas su atitinkamai 2 ir 3 parametrais, o funkcijos pridėti yra iškviečiamos ir jos atlieka papildymą.

Taip vyksta funkcijos perkrova.

Toliau su šiuo straipsniu apie funkcijų perkrovimą ir nepaisymą C ++

Funkcijos svarbesnė

Kai išvestinė klasė turi funkciją tuo pačiu pavadinimu kaip ir pagrindinės klasės funkcija, ji vadinama Funkcijos svarbesnė. Abi funkcijos turi turėti vienodus parametrus abiejose klasėse.

Funkcijos nepaisymo pavyzdinis kodas

#include naudojant vardų srities standartinę klasę „BaseClass“ {public: void disp () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

Išvestis:

Paaiškinimas:

Aukščiau pateiktoje programoje mes parodome pagrindinę funkciją su tuo pačiu pavadinimu išvestinėje ir bazinėje klasėje. Čia objektas yra sukurtas išvestinės klasės, taigi, kai mes vadiname ekraną, rodomas tik antrosios klasės objektas.

Toliau su šiuo straipsniu apie funkcijų perkrovimą ir nepaisymą C ++

Įsakymas atlikti svarbesnį

Apsvarstykite kodą:

koks skirtumas tarp java ir c ++
#include naudojant vardų srities standartinę klasę „BaseClass“ {public: void disp () {cout<<'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 } 

Išvestis:

Paaiškinimas:

Aukščiau pateiktoje programoje mes parodome pagrindinę funkciją su tuo pačiu pavadinimu išvestinėje ir bazinėje klasėje. Čia vienintelis skirtumas nuo ankstesnės programos yra tas. Mes kuriame vaikų klasės objektą. Vaiko klasės objektui suteikiama pagrindinės klasės nuoroda. Tai taip pat galima padaryti naudojant kitą metodą,

Sintaksė

Parent_class_name :: function ()

Ankstesniame pavyzdyje mes naudojame jį kaip

„BaseClass“ :: disp ()

Tai dar vienas nepaisymo būdas.

Funkcijos perkrova VS Funkcijos nepaisymas

Funkcijos perkrova Funkcijos nepaisymas
Taikymo sritis ta patiTaikymo sritis skiriasi
Parašai turi skirtis (pvz .: parametras)Parašai turi būti vienodi
Galimas perkrovos funkcijų skaičiusGalima tik viena svarbesnė funkcija
Gali atsirasti be paveldėjimoTai daugiausia atsiranda dėl paveldėjimo

Taigi mes baigėme šį straipsnį „Funkcijų perkrova ir nepaisymas C ++“. Jei norite sužinoti daugiau, patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti mokyti jus tiek pagrindinėms, tiek pažangesnėms „Java“ koncepcijoms kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio komentarų skiltyje ir mes kuo greičiau susisieksime su jumis.