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
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āda Darbī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 skaits Iespējama tikai viena primārā funkcija Var notikt bez mantojuma Tas 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.