C ++ este un în natură și se mândrește cu diverse caracteristici. În această sesiune vom discuta despre cum să implementăm funcția de supraîncărcare și funcție de suprascriere în C ++.
Următorii indicatori vor fi acoperiți în acest articol,
Continuăm cu acest articol despre supraîncărcarea funcției și suprascrierea în C ++
tutorialul meu sql pentru începători
Funcția de supraîncărcare
Funcțiile cu același nume, dar cu parametri diferiți, sunt permise în C ++ și sunt numite Funcția de supraîncărcare . Se mai numește și polimorfism în timp de compilare.
De exemplu:
sumă (int a, float b) sumă (int a, int b) sumă (int a, int b, int c)
Aici, există trei funcții cu același nume, dar singurul lucru care le diferențiază este că parametrii sunt diferiți pentru fiecare. Deci, în funcție de parametrii trecuți, se numește o funcție.
Dacă tipurile de returnare ale funcțiilor sunt diferite, atunci este considerat nevalid.
Continuăm cu acest articol despre supraîncărcarea funcției și suprascrierea în C ++
Exemplu de cod pentru funcția de supraîncărcare
includeți utilizarea spațiului de nume clasa std Adăugare {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Add un cout<Ieșire
Explicaţie
În programul de mai sus, avem două funcții în clasa de adăugare. Ambii numiți add. Unul are 2 parametri, iar celălalt are 3 parametri.
În funcția principală, creăm un obiect de adunare de clasă numit a. Numim funcții add cu 2 și respectiv 3 parametri și funcțiile add sunt apelate și efectuează add.
Acesta este modul în care are loc supraîncărcarea funcției.
Continuăm cu acest articol despre supraîncărcarea funcției și suprascrierea în C ++
Funcția suprascriere
Când o clasă derivată are o funcție cu același nume ca o funcție a clasei de bază, se numește Funcția suprascriere. Ambele funcții trebuie să aibă aceiași parametri în ambele clase.
operator rezoluție scop c ++Exemplu de cod pentru suprascrierea funcției
#include folosirea spațiului de nume 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 }Ieșire:
Explicaţie:
În programul de mai sus, afișăm funcția de bază, cu același nume în clasa derivată și de bază. Aici obiectul este creat din clasa derivată, deci atunci când apelăm afișare este afișat doar obiectul clasei copil.
Continuăm cu acest articol despre supraîncărcarea funcției și suprascrierea în C ++
Comanda de a efectua suprascrierea
Luați în considerare codul:
#include folosirea spațiului de nume 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 }Ieșire:
Explicaţie:
În programul de mai sus, afișăm funcția de bază, cu același nume în clasa derivată și de bază. Aici, singura diferență față de programul anterior este că. Creăm obiectul clasei de copii. Obiectului clasei copil i se oferă referința clasei de bază. Acest lucru se poate face și folosind o altă metodă,
Sintaxă
Parent_class_name :: function ()În exemplul de mai sus, îl folosim ca,
când să utilizați acest javaBaseClass :: disp ()Acesta este un alt mod de a suprema.
Funcție Suprasarcină VS Funcție suprascriere
Funcție Suprasarcină Înlocuirea funcției Domeniul de aplicare este același Domeniul de aplicare este diferit Semnăturile trebuie să difere (ex: parametru) Semnăturile trebuie să fie aceleași Numărul de funcții de supraîncărcare este posibil Este posibilă o singură funcție de suprascriere Poate apărea fără moștenire Apare în principal din cauza moștenirii Astfel am ajuns la sfârșitul acestui articol despre „Supraîncărcarea funcției și suprascrierea în C ++”. Dacă doriți să aflați mai multe, consultați de Edureka, o companie de învățare online de încredere. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate Java, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.
Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom răspunde cât mai curând posibil.