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
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 sama Soveltamisala on erilainen Allekirjoitusten on oltava erilaisia (esim. Parametri) Allekirjoitusten on oltava samat Ylikuormitustoimintojen määrä mahdollista Vain 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.