Hogyan lehet megvalósítani a funkciók túlterhelését és felülbírálását a C ++ verzióban?



Ez a cikk bemutatja a Funkciók túlterhelése és felülbírálása a C ++ - ban, amelyek az OOPS két nagyon fontos fogalma.

A C ++ egy a természetben, és különféle tulajdonságokkal büszkélkedhet. Ebben a munkamenetben megvitatnánk, hogyan lehet megvalósítani a függvények túlterhelését és a funkció felülírását a C ++ nyelven.

A következő mutatókkal foglalkozunk ebben a cikkben,





Folytatás ezzel a cikkel: Funkciók túlterhelése és felülbírálása C ++ nyelven

Funkció Túlterhelés



Azonos nevű, de eltérő paraméterű funkciók megengedettek a C ++ - ban, és meghívásra kerülnek Funkció Túlterhelés . Compile-time polimorfizmusnak is nevezik.

Például:

összeg (int a, float b) összeg (int a, int b) összeg (int a, int b, int c)

Itt három azonos nevű függvény létezik, de az egyetlen dolog különbözteti meg őket, hogy a paraméterek mindegyiknél eltérőek. Tehát az átadott paraméterektől függően egy függvényt hívunk meg.



Ha a függvények visszatérési típusai eltérnek, akkor érvénytelennek tekintjük.

Folytatás ezzel a cikkel: Funkciók túlterhelése és felülbírálása C ++ nyelven

Minta kód a funkció túlterheléséhez

tartalmazza a névtér használatát std osztály Kiegészítés {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Összeadás egy cout< 

Kimenet

Kimenet - Funkció túlterhelés és felülbírálás a C ++ - Edureka-ban

Magyarázat

A fenti programban két függvényünk van az összeadás osztályban. Mindkét nevezett hozzá. Az egyiknek 2, a másiknak 3 paramétere van.

mit csinál a szkenner java-ban

A fő függvényben létrehozunk egy, az osztálynak nevezett objektumot. Hívjuk az add függvényeket 2, illetve 3 paraméterrel, és az add függvényeket meghívjuk, és elvégzik az összeadást.

Így történik a függvény túlterhelése.

Folytatás ezzel a cikkel: Funkciók túlterhelése és felülbírálása C ++ nyelven

Funkció felülírása

Ha egy származtatott osztálynak van egy függvénye, amelynek neve megegyezik az alaposztály függvényével, akkor meghívjuk Funkció felülírása. Mindkét függvénynek ugyanazoknak a paramétereknek kell lenniük mindkét osztályban.

Minta kód a funkció felülírására

#include névtér használatával std osztály 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 } 

Kimenet:

Magyarázat:

A fenti programban megmutatjuk az alapfunkciókat, ugyanazzal a névvel a származtatott és az alaposztályban. Itt az objektum a származtatott osztályból jön létre, így amikor a kijelzőt hívjuk, csak a gyermek osztály objektum jelenik meg.

Folytatás ezzel a cikkel: Funkciók túlterhelése és felülbírálása C ++ nyelven

Rendelés az elsőbbség végrehajtására

Vegye figyelembe a kódot:

#include névtér használatával std osztály 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 } 

Kimenet:

Magyarázat:

A fenti programban megmutatjuk az alapfunkciókat, azonos névvel a származtatott és az alaposztályban. Itt az egyetlen különbség az előző programhoz képest az. Létrehozzuk a gyermekosztály tárgyát. A gyermekosztály objektum megkapja az alaposztály hivatkozását. Ez megtehető egy másik módszer alkalmazásával is,

Szintaxis

Szülő_osztály_neve :: függvény ()

A fenti példában ezt használjuk,

BaseClass :: disp ()

Ez az felülírás másik módja.

Funkció túlterhelése VS Funkció felülírása

hozzon létre egy tömb objektumot java
Funkció Túlterhelés Funkció felülbírálása
A hatókör ugyanazA hatály más
Az aláírásoknak különbözniük kell (pl .: paraméter)Az aláírásoknak azonosaknak kell lenniük
Lehetséges túlterhelési funkciók számaCsak egy felülbíráló funkció lehetséges
Öröklés nélkül is előfordulhatFőleg az öröklés miatt következik be

Így a „Funkciók túlterhelése és felülbírálása a C ++ -on” című cikkünk végéhez értünk. Ha többet szeretne megtudni, nézze meg a Edureka, egy megbízható online tanulási társaság. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát arra tervezték, hogy mind az alapvető, mind a fejlett Java koncepciókra kiképezzen különféle Java keretrendszereket, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.