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
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 pati Taikymo sritis skiriasi Parašai turi skirtis (pvz .: parametras) Parašai turi būti vienodi Galimas perkrovos funkcijų skaičius Galima tik viena svarbesnė funkcija Gali atsirasti be paveldėjimo Tai 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.