Kuinka toteuttaa toimintojen ylikuormitus ja ohittaminen C ++: ssa?



Tässä artikkelissa tutustutaan toimintojen ylikuormitukseen ja ohittamiseen C ++: ssa, jotka ovat kaksi OOPS: n erittäin tärkeistä käsitteistä.

C ++ on luonnossa ja siinä on useita ominaisuuksia. Tässä istunnossa keskustelemme siitä, miten toimintojen ylikuormitus ja toimintojen korvaaminen toteutetaan C ++: ssa.

Seuraavat viitteet käsitellään tässä artikkelissa,





Tämän artikkelin kanssa jatketaan toimintojen ylikuormitusta ja ohittamista C ++: ssa

Toiminto Ylikuormitus



Toiminnot, joilla on sama nimi, mutta erilaiset parametrit, ovat sallittuja C ++: ssa ja niitä kutsutaan Toiminto Ylikuormitus . Sitä kutsutaan myös käännösaikaiseksi polymorfismiksi.

Esimerkiksi:

summa (int a, kelluva b) summa (int a, int b) summa (int a, int b, int c)

Tässä on kolme toimintoa, joilla on sama nimi, mutta ainoa asia, joka erottaa ne, on se, että parametrit ovat erilaiset kullakin. Joten lähetetyistä parametreista riippuen funktio kutsutaan.



Jos funktioiden palautustyypit ovat erilaiset, sitä pidetään virheellisenä.

Tämän artikkelin kanssa jatketaan toimintojen ylikuormitusta ja ohittamista C ++: ssa

javan voimaan

Esimerkkikoodi toiminnon ylikuormituksesta

sisällytä nimitilan käyttäminen vakioluokka Lisäys {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {lisäys cout< 

Tuotos

Lähtö - toimintojen ylikuormitus ja ohitus C ++ - Edurekassa

Selitys

Yllä olevassa ohjelmassa meillä on kaksi funktiota lisäysluokassa. Molemmat nimetyt lisäävät. Toisella on 2 ja toisella 3 parametria.

Pääfunktiossa luomme luokan lisäysobjektin nimeltä a. Kutsumme lisäfunktioita vastaavasti 2 ja 3 parametrilla ja funktiot add kutsutaan ja ne suorittavat lisäyksen.

Näin toiminnon ylikuormitus tapahtuu.

Tämän artikkelin kanssa jatketaan toimintojen ylikuormitusta ja ohittamista C ++: ssa

Toiminnon ohittaminen

Kun johdetulla luokalla on funktio, jolla on sama nimi kuin perusluokan funktiolla, sitä kutsutaan Toiminnon ohittaminen. Molemmilla toiminnoilla on oltava samat parametrit molemmissa luokissa.

Esimerkkikoodi toiminnon ohittamiseksi

#include käyttämällä nimiavaruuden vakioluokkaa 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 } 

Tuotos:

Selitys:

Yllä olevassa ohjelmassa näytämme perustoiminnon, jolla on sama nimi johdetussa ja perusluokassa. Täällä objekti luodaan johdetusta luokasta, joten kun kutsumme näyttöä, vain lapsiluokan objekti näytetään.

Tämän artikkelin kanssa jatketaan toimintojen ylikuormitusta ja ohittamista C ++: ssa

Tilaa suorittaa ohitus

Harkitse koodia:

matriisin javascript-pituus
#include käyttämällä nimiavaruuden vakioluokkaa 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 } 

Tuotos:

Selitys:

Yllä olevassa ohjelmassa näytämme perustoiminnon, jolla on sama nimi johdetussa ja perusluokassa. Tässä ainoa ero edelliseen ohjelmaan on se. Luomme lapsiluokan kohteen. Lapsiluokan objektille annetaan perusluokan viite. Tämä voidaan tehdä myös toisella menetelmällä,

Syntaksi

Vanhempien luokan_nimi :: funktio ()

Yllä olevassa esimerkissä käytämme sitä

BaseClass :: disp ()

Tämä on toinen tapa ohittaa.

Toiminnon ylikuormittaminen VS-toiminnon ohittaminen

Toiminto Ylikuormitus Toiminnon ohitus
Soveltamisala on samaSoveltamisala on erilainen
Allekirjoitusten on oltava erilaisia ​​(esim. Parametri)Allekirjoitusten on oltava samat
Ylikuormitustoimintojen määrä mahdollistaVain yksi korvaava toiminto on mahdollinen
Voi tapahtua ilman perintöäSe johtuu pääasiassa perinnöstä

Siksi olemme päässeet tämän artikkelin loppuun, joka koskee toimintojen ylikuormitusta ja ohittamista C ++: ssa. Jos haluat oppia lisää, tutustu Edureka, luotettava verkko-oppimisyritys. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.