Uvod v funkcijo Preobremenitev v C ++

Programiranje C ++ ima neverjetne lastnosti, ena najpomembnejših lastnosti pa je preobremenitev s funkcijami. Pomeni kodo z več funkcijami z istim imenom, vendar z različnimi seznami argumentov. Seznam argumentov pomeni zaporedje argumentov in podatkovne vrste argumentov. Funkcija preobremenitev se uporablja za izvajanje podobnih operacij. Uporablja se za izboljšanje berljivosti kode. Funkcijo je na novo opredelil, ker ni smisla ustvarjati dveh različnih funkcij za izvajanje istega dela znova in znova.

Sintaksa

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

Oba sta ista funkcija, vendar sta argumenta različna. V primeru, da želite izvajati dodajanje na različnih tipih podatkov z isto funkcijo, potem lahko funkcijo preobremenitve funkcije uporabite pri programiranju s C ++.

Tu je koda C ++ za prikaz preobremenitve funkcij v programiranju C ++:

Koda:

#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;
)

Različni načini za preobremenitev funkcije v C ++

Obstaja več načinov za preobremenitev funkcije v programskem jeziku C ++. Poglejmo, kako lahko to storimo:

1. Funkcija Preobremenitev

Uporabite za povečanje berljivosti kode pri programiranju. Opredelimo ga lahko kot preobremenitev 2 ali več funkcij z istim imenom, vendar so različni parametri znani kot Funkcija preobremenitev.

Sintaksa:

DataType Functionname (parameter list)
(
Function body
)

Primer 1

Tu je koda C ++ za prikaz preobremenitve funkcije s spreminjanjem števila argumentov v programiranju C ++:

Koda:

#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;
)

Primer # 2

Tu je koda C ++ za prikaz preobremenitve funkcij z različnimi vrstami argumentov v programiranju C ++:

Koda:

#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. Preobremenitev operaterja

V programskem jeziku C ++ je več vgrajenih operaterjev. Koder lahko s temi operaterji preobremeni ali na novo opredeli te vgrajene operaterje. Gre za polimorfizem v prevajalskem času, v katerem se preobremenjeni operater uporablja za izvajanje nalog na uporabniško določenih tipih podatkov. Skoraj veliko operaterjev je lahko preobremenjenih v programskem jeziku C ++.

Sintaksa:

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

Primer 1

Tu je koda C ++ za prikaz preobremenitve operaterja v programiranju C ++:

Koda:

#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;
)

Primer # 2

Poglejmo, kako dejansko deluje preobremenitev? pri programiranju s primeri kodiranja C ++:

Koda:

#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;
)

Pojasnilo kode:

V zgornji kodi smo ustvarili funkcijo za prikaz izhodov različnih vrst podatkov, vendar če opazite, da je ime funkcij enako in da so argumenti različni. Nato smo inicializirali spremenljivko, imenovano x, in ji dodelili vrednost in neko vrednost, dodeljeno tudi plavajoči spremenljivki y. Po dodelitvi vrednosti spremenljivkam x in y smo poklicali prikazano funkcijo za prikaz vhodne vrednosti na izhodnem zaslonu.

Kot lahko vidite imena funkcij, vendar je argument v vseh treh primerih različen. Najprej smo poklicali funkcijo prikazovanja samo celoštevilčne spremenljivke, nato pa smo poklicali funkcijo prikazovanja, da prikaže izhod samo za spremenljivo spremenljivko. Končno smo poklicali funkcijo show, ki ima tako celoštevilčne kot float spremenljivke, da prikaže izhod na zaslonu kot izhod.

Tako dejansko deluje funkcija preobremenitve v programskem jeziku C ++. Glede na različne vrste podatkov lahko za izvajanje podobnega nabora operacij uporabite isto funkcijo.

Primer # 3

Tu je koda C ++, ki prikazuje funkcijsko preobremenitev v programiranju C ++:

Koda:

#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;
)

Pojasnilo kode:

V zgornji kodi smo ustvarili razred X in ustvarili celostno spremenljivko x, nato pa razglasili dva konstruktorja, da nam ni treba ustvariti predmetov za klicanje funkcije, saj konstruktor samodejno inicializira novo ustvarjeni predmet razreda takoj, ko je dodeljen pomnilnik . Dve funkciji sta ustvarjena operator in prikaz, da prikazujeta dodajanje dveh predmetov z uporabo konceptov preobremenitve v naši kodi.

Zaključek

Za zaključek lahko funkcijo preobremenitve funkcij v C ++ uporabimo na več načinov za večjo berljivost kode. Pomaga pri varčevanju s pomnilniškim prostorom in časom kompilacije med programiranjem z jezikom C ++. Koncept polimorfizma v kompilacijskem času je uveden tudi s koncepti preobremenitve operaterja, kjer je skoraj vsak operater lahko preobremenjen.

Priporočeni članki

To je vodnik za funkcijo Preobremenitev v C ++. Tukaj razpravljamo o različnih načinih preobremenitve funkcije v C ++, skupaj z različnimi primeri in implementacijo kode. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Kako deluje rekurzivna funkcija v C ++?
  2. Najboljše 3 vrste podatkov v C ++
  3. Primeri preobremenitve in preglasitve v C ++
  4. Niz nizov v C ++ matriki z več nizi