C ++ är en i naturen och den har olika funktioner. I den här sessionen skulle vi diskutera hur man implementerar funktionsöverbelastning och funktionsöverstyrning i C ++.
Följande tips kommer att behandlas i den här artikeln,
Fortsätter med den här artikeln om funktionsöverbelastning och åsidosättande i C ++
Funktion Överbelastning
Funktioner med samma namn men olika parametrar är tillåtna i C ++ och kallas Funktion Överbelastning . Det kallas också polymorfism för sammanställningstid.
Till exempel:
sum (int a, float b) sum (int a, int b) sum (int a, int b, int c)
Här finns det tre funktioner med samma namn men det enda som skiljer dem åt är att parametrarna är olika på var och en. Så, beroende på vilka parametrar som skickas, kallas en funktion.
Om returtyperna för funktionerna är olika anses de vara ogiltiga.
Gå vidare med den här artikeln om funktionsöverbelastning och åsidosättande i C ++
vad gör skannern i java
Exempelkod för funktion överbelastning
inkludera med hjälp av namnutrymme std klass Addition {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Addition en cout<Produktion
Salesforce utvecklarhandledning för nybörjareFörklaring
I programmet ovan har vi två funktioner i tilläggsklassen. Båda namngivna add. En har två parametrar och den andra har 3 parametrar.
I huvudfunktionen skapar vi ett objekt för klasstillägg som kallas a. Vi kallar add-funktionerna med 2 respektive 3 parametrar och funktionerna add kallas och de utför addition.
Så här sker överbelastningen av funktionen.
Gå vidare med den här artikeln om funktionsöverbelastning och åsidosättande i C ++
Funktion Överstyrning
När en härledd klass har en funktion med samma namn som en funktion av basklassen kallas den Funktion Överstyrning. Båda funktionerna måste ha samma parametrar i båda klasserna.
Exempelkod för åsidosättande av funktioner
#include using namespace 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 }Produktion:
Förklaring:
I programmet ovan visar vi grundläggande funktion, med samma namn i härledd och basklass. Här skapas objektet från den härledda klassen, så när vi ringer till displayen visas bara det underordnade klassobjektet.
Gå vidare med den här artikeln om funktionsöverbelastning och åsidosättande i C ++
Beställ att utföra åsidosättande
Tänk på koden:
#include using namespace 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 }Produktion:
Förklaring:
I programmet ovan visar vi grundläggande funktion, med samma namn i härledd och basklass. Här är den enda skillnaden från föregående program den. Vi skapar föremålet för barnklassen. Barnklassobjektet ges referens till basklass. Detta kan också göras med en annan metod,
Syntax
Parent_class_name :: function ()I exemplet ovan använder vi det som,
statisk medlemsfunktion c ++BaseClass :: disp ()Detta är ett annat sätt att åsidosätta.
Funktion Överbelastning VS Funktion Överstyrning
Funktionsöverbelastning Åsidosättande av funktion Omfattningen är densamma Omfattningen är annorlunda Signaturerna måste skilja sig (ex: parameter) Underskrifterna måste vara desamma Antal överbelastningsfunktioner möjliga Endast en övergripande funktion möjlig Kan förekomma utan arv Det uppstår främst på grund av arv Således har vi kommit till slutet av denna artikel om ”Funktionsöverbelastning och överstyrning i C ++”. Om du vill veta mer, kolla in av Edureka, ett pålitligt inlärningsföretag online. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för att träna dig för både grundläggande och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.
Har du en fråga till oss? Vänligen nämna det i kommentarsektionen på den här bloggen så kommer vi tillbaka till dig så snart som möjligt.