C ++ je v naravi in se ponaša z različnimi lastnostmi. Na tej seji bi razpravljali o izvedbi preobremenitve funkcij in preglasitve funkcij v jeziku C ++.
V tem članku bodo zajeti naslednji napotki:
Nadaljujemo s tem člankom o preobremenitvi in razveljavitvi funkcij v jeziku C ++
Preobremenitev funkcije
Funkcije z istim imenom, vendar različnimi parametri, so v C ++ dovoljene in se pokličejo Preobremenitev funkcije . Imenuje se tudi polimorfizem v času prevajanja.
Na primer:
vsota (int a, float b) vsota (int a, int b) vsota (int a, int b, int c)
Tu obstajajo tri funkcije z istim imenom, vendar jih razlikuje le to, da so parametri pri vsaki različni. Torej, odvisno od posredovanih parametrov se pokliče funkcija.
Če so vrnjeni tipi funkcij različni, se šteje za neveljavne.
Nadaljujemo s tem člankom o preobremenitvi in razveljavitvi funkcij v jeziku C ++
Vzorčna koda za delovanje pri nalaganju
vključi uporabo imenskega prostora std razred Dodatek {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 cout<Izhod
Pojasnilo
V zgornjem programu imamo dve funkciji v razredu seštevanja. Oba imenovana dodajata. Eden ima 2 parametra, drugi pa 3 parametre.
V glavni funkciji ustvarimo objekt dodajanja razredov, imenovan a. Kličemo funkcije add z 2 oziroma 3 parametroma, funkcije add pa se pokličejo in izvedejo seštevanje.
Tako poteka preobremenitev funkcije.
Nadaljujemo s tem člankom o preobremenitvi in razveljavitvi funkcij v jeziku C ++
Preglasitev funkcije
Ko ima izpeljani razred funkcijo z enakim imenom kot funkcija osnovnega razreda, se ta pokliče Preglasitev funkcije. Obe funkciji morata imeti v obeh razredih enake parametre.
Vzorčna koda za razveljavitev funkcije
#include z uporabo imenskega prostora std razred 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 }Izhod:
kaj je razvijalec blokovPojasnilo:
V zgornjem programu prikazujemo osnovno funkcijo z istim imenom v izpeljanem in osnovnem razredu. Tu je objekt ustvarjen iz izvedenega razreda, tako da je, ko pokličemo display, prikazan samo predmet podrejenega razreda.
Nadaljujemo s tem člankom o preobremenitvi in razveljavitvi funkcij v jeziku C ++
Naročilo za izvedbo razveljavitve
Upoštevajte kodo:
#include z uporabo imenskega prostora std razred 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 }Izhod:
Pojasnilo:
V zgornjem programu prikazujemo osnovno funkcijo z istim imenom v izpeljanem in osnovnem razredu. Tu je edina razlika od prejšnjega programa ta. Ustvarimo objekt otroškega razreda. Predmet podrejenega razreda dobi referenco osnovnega razreda. To lahko storite tudi z drugo metodo,
Sintaksa
Ime_razreda_ starša :: funkcija ()V zgornjem primeru ga uporabljamo kot,
BaseClass :: disp ()To je še en način razveljavitve.
Preobremenitev funkcije VS Preglasitev funkcije
Preobremenitev funkcije Preglasitev funkcije Obseg je enak Obseg je drugačen Podpisi se morajo razlikovati (npr. Parameter) Podpisi morajo biti enaki Število možnih funkcij preobremenitve Možna samo ena preglasna funkcija Lahko se zgodi brez dedovanja Pojavi se predvsem zaradi dedovanja Tako smo prišli do konca tega članka o 'Preobremenitvi in preglasitvi funkcij v C ++'. Če želite izvedeti več, si oglejte Edureka, zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.
Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.