Introduksjon til funksjonsoverbelastning i C ++

C ++ programmering har fantastiske funksjoner, og en av de viktigste funksjonene er overbelastning av funksjoner. Det betyr en kode som har mer enn én funksjon med samme navn, men med de forskjellige argumentlistene. Argumentlisten betyr rekkefølgen på argumentene og datatypene av argumenter. Funksjon overbelastning brukes til å utføre lignende operasjoner. Den brukes til å forbedre kodens lesbarhet. Omdefinerte funksjonen fordi det ikke er noe poeng i å lage to forskjellige funksjoner for å utføre det samme arbeidet igjen og igjen.

syntax

void add(int a, int b);
void add(float a, float b);

Begge er den samme funksjonen, men argumentene er forskjellige. Så i tilfelle du vil utføre tillegg på forskjellige datatyper ved å bruke den samme funksjonen, kan funksjonen for overbelastning brukes til programmering med C ++.

Her er C ++ -koden for å demonstrere funksjonsoverbelastning i C ++ -programmering:

Kode:

#include
using namespace std;
void print(int x) (
cout << " Here is the integer " << x << endl;
)
void print(double y) (
cout << " Here is the float " << y << endl;
)
void print(char const *v) (
cout << " Here is the character* " << v << endl;
)
int main() (
print(20);
print(20.30);
print("three");
return 0;
)

Ulike måter å overbelaste funksjonen i C ++

Det er flere måter å overbelaste en funksjon på C ++ programmeringsspråk. La oss se hvordan kan vi gjøre det:

1. Funksjon Overbelastning

Brukes for å øke kodelesbarheten i programmering. Det kan defineres som overbelastning av 2 eller flere funksjoner med samme navn, men forskjellige parametere er kjent som Funksjon overbelastning.

syntaks:

DataType Functionname (parameter list)
(
Function body
)

Eksempel 1

Her er C ++ - koden for å demonstrere overbelastning av funksjoner ved å endre antall argumenter i C ++ - programmering:

Kode:

#include
using namespace std;
class Calculate (
public:
static int addition(int a, int b)(
return a + b;
)
static int addition(int a, int b, int c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
static int addition(int a, int b)(
return a + b;
)
static int addition(int a, int b, int c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
static int addition(int a, int b)(
return a + b;
)
static int addition(int a, int b, int c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)

Eksempel 2

Her er C ++ - koden for å demonstrere overbelastning av funksjoner ved å ha forskjellige typer argumenter i C ++ - programmering:

Kode:

#include
using namespace std;
class Calculate (
public:
int addition(int a, int b)(
return a + b;
)
float addition(float a, float b, float c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
int addition(int a, int b)(
return a + b;
)
float addition(float a, float b, float c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
int addition(int a, int b)(
return a + b;
)
float addition(float a, float b, float c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)

2. Overbelastning av operatøren

Det er flere innebygde operatører på programmeringsspråket C ++. En koder kan bruke disse operatørene til å overbelaste eller omdefinere disse innebygde operatørene. Det er en polymorfisme i kompilertid der en overbelastet operatør brukes til å utføre oppgaver på brukerdefinerte datatyper. Nesten mange operatører kan være overbelastet i C ++ programmeringsspråk.

syntaks:

ReturnType Classname :: operator OperatorSymbol (parameter list)
(
Function body
)

Eksempel 1

Her er C ++ - koden for å demonstrere overbelastning av operatører i C ++ - programmering:

Kode:

#include
using namespace std;
class Demo
(
private:
int count;
public:
Demo(): count(5)()
void operator ++()
(
count = count+1;
)
void DisplayCount() ( cout<<"The Count is : "< );
int main()
(
Demo d;
// this calls void operator ++()" function
++d;
d.DisplayCount();
return 0;
)
#include
using namespace std;
class Demo
(
private:
int count;
public:
Demo(): count(5)()
void operator ++()
(
count = count+1;
)
void DisplayCount() ( cout<<"The Count is : "< );
int main()
(
Demo d;
// this calls void operator ++()" function
++d;
d.DisplayCount();
return 0;
)

Eksempel 2

La oss se hvordan funksjon av overbelastning faktisk fungerer? i programmering gjennom C ++ koding eksempler:

Kode:

#include
using namespace std;
void show(int);
void show(float);
void show(int, float);
int main() (
int x = 10;
float y = 255.5;
show(x);
show(y);
show(x, y);
return 0;
)
void show(int variable) (
cout << "The Integer number is : " << variable << endl;
)
void show(float variable) (
cout << "The Float number is: " << variable << endl;
)
void show(int variable1, float variable2) (
cout << "The Integer number is: " << variable1;
cout << " And The Float number is:" << variable2;
)

Forklaring av kode:

I koden over har vi laget en funksjon for å vise utdataene fra forskjellige datatyper, men hvis du merker funksjoner, er navnet det samme og argumentene er forskjellige. Så initialiserte vi en variabel kalt x og tilordnet den en verdi og noen verdi tildelt flytende variabel y også. Etter å ha tilordnet verdier til x- og y-variabler kalte vi funksjonen som ble vist for å vise inngangsverdi på utgangsskjermen.

Som du kan se funksjonsnavnene, men argumentet er forskjellig i alle tre tilfeller. Først kalte vi funksjonen bare heltalvariabel, etter at vi kalte visningsfunksjon for bare å vise output for flottørvariabel. Til slutt kalte vi showfunksjonen som har både heltalls- og flytevariabler for å vise output på skjermen som output.

Slik fungerer funksjonen for overbelastning faktisk på programmeringsspråket C ++. Avhengig av forskjellige datatyper, kan den samme funksjonen brukes til å utføre et lignende sett med operasjoner.

Eksempel 3

Her er C ++ -koden for å demonstrere funksjonsoverbelastning i C ++ -programmering:

Kode:

#include
using namespace std;
class X
( int x;
public:
X()()
X(int j)
(
x=j;
)
void operator+(X);
void display();
);
void X :: operator+(X a)
(
int n = x+ax;
cout<<"The addition of two objects is : "< )
int main()
(
X a1(505);
X a2(409);
a1+a2;
return 0;
)
#include
using namespace std;
class X
( int x;
public:
X()()
X(int j)
(
x=j;
)
void operator+(X);
void display();
);
void X :: operator+(X a)
(
int n = x+ax;
cout<<"The addition of two objects is : "< )
int main()
(
X a1(505);
X a2(409);
a1+a2;
return 0;
)

Forklaring av kode:

I koden over opprettet vi en klasse X og opprettet en heltalvariabel x og erklærte deretter to konstruktører slik at vi ikke trenger å opprette objekter for å kalle funksjonen da konstruktør automatisk initialiserer et nyopprettet klasseobjekt rett etter at et minne er tildelt . To funksjoner opprettes operatør og display for å vise tillegg av to objekter ved å bruke funksjonskontrollbelastningskonsepter i koden vår.

Konklusjon

Avslutningsvis kan funksjonen for overbelastning av funksjoner i C ++ brukes på flere måter for å øke kodelesbarheten. Det hjelper med å spare minne, så vel som kompileringstid mens du programmerer med C ++ -språket. Kompilertidspolymorfismekonsept blir også introdusert gjennom operatørens overbelastningskonsepter der nesten alle operatører kan overbelastes.

Anbefalte artikler

Dette er en guide til funksjonsoverbelastning i C ++. Her diskuterer vi de forskjellige måtene å overbelaste funksjon i C ++ sammen med forskjellige eksempler og kodeimplementering. Du kan også se på følgende artikkel for å lære mer -

  1. Hvordan rekursiv funksjon fungerer i C ++?
  2. Topp 3 datatyper i C ++
  3. Eksempler på overbelastning og overstyring i C ++
  4. String Array i C ++ en rekke flere strenger