C ++ je u prirodi i može se pohvaliti raznim značajkama. U ovoj ćemo sesiji raspravljati o tome kako implementirati preopterećenje funkcije i nadjačavanje funkcije u C ++.
Slijedeće upute bit će obrađene u ovom članku,
Nastavljamo s ovim člankom o Preopterećenju i poništavanju funkcija u C ++-u
kako koristiti mysql radni stol
Preopterećenje funkcije
Funkcije koje imaju isto ime, ali različite parametre, dopuštene su u C ++ i pozivaju se Preopterećenje funkcije . Naziva se i polimorfizmom u vrijeme kompajliranja.
Na primjer:
zbroj (int a, float b) zbroj (int a, int b) zbroj (int a, int b, int c)
Ovdje postoje tri funkcije s istim nazivom, ali jedino što ih razlikuje je to što su parametri različiti za svaku. Dakle, ovisno o prosljeđenim parametrima, poziva se funkcija.
Ako su povratni tipovi funkcija različiti, tada se smatra nevaljanim.
Nastavljamo s ovim člankom o Preopterećenju i poništavanju funkcija u C ++-u
Uzorak koda za funkciju preopterećenja
uključuju upotrebu prostora imena std klasa Dodatak {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Addition kuda<Izlaz
Obrazloženje
U gornjem programu imamo dvije funkcije u klasi sabiranja. Oba imenovana dodaju. Jedan ima 2 parametra, a drugi ima 3 parametra.
U glavnoj funkciji kreiramo objekt dodavanja klase pod nazivom a. Zovemo funkcije dodavanja s 2 i 3 parametra, a funkcije zovu se i izvršavaju zbrajanje.
Tako se događa preopterećenje funkcije.
Nastavljamo s ovim člankom o Preopterećenju i poništavanju funkcija u C ++-u
Nadjačavanje funkcije
Kada izvedena klasa ima funkciju s istim imenom kao funkcija osnovne klase, ona se naziva Nadjačavanje funkcije. Obje funkcije moraju imati iste parametre u obje klase.
što je tumač u javiUzorak koda za nadjačavanje funkcije
#include koristeći prostor imena std class 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 }Izlaz:
Obrazloženje:
U gornjem programu prikazujemo osnovnu funkciju s istim imenom u izvedenoj i osnovnoj klasi. Ovdje se objekt kreira iz izvedene klase, pa kad zovemo display prikazuje se samo objekt podređene klase.
Nastavljamo s ovim člankom o Preopterećenju i poništavanju funkcija u C ++-u
Nalog za izvršavanje nadjačavanja
Razmotrite kod:
#include koristeći prostor imena std class 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 }Izlaz:
Obrazloženje:
U gornjem programu prikazujemo osnovnu funkciju s istim imenom u izvedenoj i osnovnoj klasi. Ovdje je jedina razlika u odnosu na prethodni program u tome. Stvaramo objekt klase child. Objekt podređene klase dobiva referencu osnovne klase. To se također može učiniti drugom metodom,
Sintaksa
Ime_razreda_ roditelja :: funkcija ()U gornjem primjeru koristimo ga kao,
razlika između bigdata i hadoopaBaseClass :: disp ()Ovo je još jedan način nadjačavanja.
Preopterećenje funkcije VS Nadjačavanje funkcije
Preopterećenje funkcije Nadjačavanje funkcije Opseg je isti Opseg je drugačiji Potpisi se moraju razlikovati (npr: parametar) Potpisi moraju biti isti Broj mogućih funkcija preopterećenja Moguća samo jedna nadređena funkcija Može se dogoditi bez nasljeđivanja Uglavnom se javlja zbog nasljedstva Tako smo došli do kraja ovog članka o 'Preopterećenju i poništavanju funkcija u C ++'. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.
Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.