Kā īstenot funkciju pārslodzi un ignorēšanu C ++ versijā?

Šis raksts jūs iepazīstinās ar funkciju pārslodzi un ignorēšanu C ++, kas ir divi no ļoti svarīgiem OOPS jēdzieniem.

C ++ ir dabā, un tas lepojas ar dažādām iezīmēm. Šajā sesijā mēs apspriedīsim, kā C ++ ieviest funkciju pārslodzi un funkciju ignorēšanu.

Šajā rakstā tiks apskatīti šādi rādītāji,



Turpinot šo rakstu par funkciju pārslodzi un ignorēšanu C ++

Funkcija Pārslodze



Funkcijas ar tādu pašu nosaukumu, bet atšķirīgiem parametriem ir atļautas C ++ un tiek izsauktas Funkcija Pārslodze . To sauc arī par kompilācijas laika polimorfismu.

Piemēram:

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

Šeit ir trīs funkcijas ar tādu pašu nosaukumu, bet vienīgais, kas tās atšķir, ir tas, ka parametri katram ir atšķirīgi. Tātad, atkarībā no nodotajiem parametriem, tiek izsaukta funkcija.



Ja funkciju atgriešanas veidi ir atšķirīgi, tas tiek uzskatīts par nederīgu.

Turpinot šo rakstu par funkciju pārslodzi un ignorēšanu C ++

Parauga kods funkcijai, kas tiek pārslogota

iekļaujot vārdamvietas std klases pievienošanu {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {papildinājums cout< 

Rezultāts

Izeja - funkciju pārslodze un pārsniegšana C ++ - Edureka

Paskaidrojums

Iepriekš minētajā programmā mums ir divas funkcijas papildinājumu klasē. Abi nosauktie piebilst. Vienam ir 2 parametri, bet otram ir 3 parametri.

Galvenajā funkcijā mēs izveidojam klases pievienošanas objektu, ko sauc par a. Mēs saucam pievienošanas funkcijas ar attiecīgi 2 un 3 parametriem, un tiek izsauktas funkcijas pievienot, un tās veic saskaitīšanu.

Tā notiek funkciju pārslodze.

Turpinot šo rakstu par funkciju pārslodzi un ignorēšanu C ++

Funkcijas ignorēšana

Kad atvasinātajai klasei ir funkcija ar tādu pašu nosaukumu kā bāzes klases funkcija, to sauc Funkcijas ignorēšana. Abām funkcijām abās klasēs jābūt vienādiem parametriem.

Funkcijas ignorēšanas koda paraugs

#include izmantojot nosaukumvietas standartklasi 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 } 

Izeja:

Paskaidrojums:

Iepriekš minētajā programmā mēs parādām pamatfunkciju ar tādu pašu nosaukumu atvasinātajā un bāzes klasē. Šeit objekts tiek izveidots no atvasinātās klases, tāpēc, kad mēs saucam displeju, tiek parādīts tikai bērnu klases objekts.

Turpinot šo rakstu par funkciju pārslodzi un ignorēšanu C ++

Rīkojums veikt ignorēšanu

Apsveriet kodu:

ciparu summa java
#include izmantojot nosaukumvietas standartklasi 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 } 

Izeja:

Paskaidrojums:

Iepriekš minētajā programmā mēs parādām pamatfunkciju ar tādu pašu nosaukumu atvasinātajā un bāzes klasē. Vienīgā atšķirība no iepriekšējās programmas ir tā. Mēs izveidojam bērnu klases objektu. Bērna klases objektam tiek piešķirta atsauce uz pamatklasi. To var izdarīt arī, izmantojot citu metodi,

Sintakse

Vecāku_klases_nosaukums :: funkcija ()

Iepriekš minētajā piemērā mēs to izmantojam kā

BaseClass :: disp ()

Tas ir vēl viens veids, kā ignorēt.

Funkcijas pārslodze VS Funkcijas ignorēšana

Funkcija Pārslodze Funkcijas ignorēšana
Darbības joma ir vienādaDarbības joma ir atšķirīga
Parakstiem jābūt atšķirīgiem (piemēram: parametrs)Parakstiem jābūt vienādiem
Iespējamo pārslodzes funkciju skaitsIespējama tikai viena primārā funkcija
Var notikt bez mantojumaTas galvenokārt notiek mantojuma dēļ

Tādējādi mēs esam nonākuši pie šī raksta par “Funkciju pārslodze un ignorēšana C ++” beigās. Ja vēlaties uzzināt vairāk, iepazīstieties ar Autors: uzticams tiešsaistes mācību uzņēmums Edureka. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts, lai apmācītu jūs gan galvenajiem, gan uzlabotajiem Java jēdzieniem kopā ar dažādiem Java ietvariem, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.