Cum să implementați funcția de supraîncărcare și suprascriere în C ++?



Acest articol vă va prezenta funcția de supraîncărcare și suprascriere în C ++, care sunt două dintre conceptele foarte importante ale OOPS.

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

Ieșire - Supraîncărcarea și suprascrierea funcției în C ++ - Edureka

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 java
BaseClass :: 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șiDomeniul 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 posibilEste posibilă o singură funcție de suprascriere
Poate apărea fără moștenireApare î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.