Uvod u preopterećenje funkcije u C ++

C ++ programiranje ima zadivljujuće značajke, a jedna od najvažnijih značajki je preopterećenje funkcija. To znači da kod ima više funkcija s istim nazivom, ali s različitim popisima argumenata. Popis argumenata znači slijed argumenata i vrste podataka argumenata. Preopterećenje funkcije koristi se za izvođenje sličnih operacija. Koristi se za poboljšanje čitljivosti koda. Redefinirati funkciju jer nema smisla stvarati dvije različite funkcije za izvođenje istog posla iznova i iznova.

Sintaksa

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

Obje su iste funkcije, ali argumenti su različiti. Dakle, u slučaju da želite izvršiti dodavanje na različitim tipovima podataka koristeći istu funkciju, tada se značajka preopterećenja funkcije može upotrijebiti u programiranju sa C ++.

Evo C ++ koda za demonstriranje preopterećenja funkcija u programiranju C ++:

Kodirati:

#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čiti načini preopterećenja funkcije u C ++

Postoji nekoliko načina za preopterećenje funkcije u programskom jeziku C ++. Da vidimo kako to možemo učiniti:

1. Funkcija Preopterećenje

Koristite za povećanje čitljivosti koda u programiranju. Može se definirati kao preopterećenje 2 ili više funkcija s istim nazivom, ali različiti su parametri poznati kao Function overloading.

Sintaksa:

DataType Functionname (parameter list)
(
Function body
)

Primjer 1

Evo C ++ koda za demonstriranje preopterećenja funkcija promjenom broja argumenata u programiranju C ++:

Kodirati:

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

Primjer 2

Evo C ++ koda za demonstriranje preopterećenja funkcija pomoću različitih vrsta argumenata u programiranju C ++:

Kodirati:

#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. Preopterećenje operatera

Postoji nekoliko ugrađenih operatora na programskom jeziku C ++. Koder može koristiti ove operatore za preopterećenje ili redefiniranje tih ugrađenih operatora. To je polimorfizam u kompilacijskom vremenu u kojem se preopterećeni operator koristi za izvršavanje zadataka na podacima definiranim od strane korisnika. Gotovo mnogi operatori mogu biti preopterećeni programskim jezikom C ++.

Sintaksa:

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

Primjer 1

Evo C ++ koda za demonstriranje preopterećenja Operatora u C ++ programiranju:

Kodirati:

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

Primjer 2

Da vidimo kako zapravo preopterećenje funkcija djeluje? u programiranju kroz C ++ primjere kodiranja:

Kodirati:

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

Objašnjenje koda:

U gornjem kôdu stvorili smo funkciju za prikaz rezultata različitih tipova podataka, ali ako primijetite naziv funkcije je isti, a argumenti su različiti. Tada smo inicijalizirali varijablu zvanu x i dodijelili joj vrijednost, a neku vrijednost dodijeljenu i plutajućoj varijabli y. Nakon dodjeljivanja vrijednosti varijablama x i y nazvali smo prikazanu funkciju za prikaz ulazne vrijednosti na izlaznom zaslonu.

Kao što možete vidjeti i nazive funkcija, ali argument je različit u sva tri slučaja. Prvo smo pozvali funkciju prikazuje samo cijelu varijablu, a zatim smo prikazali funkciju za prikaz rezultata samo za pomičnu varijablu. Napokon, nazvali smo show funkciju koja ima i cijele i float varijable za prikaz rezultata na zaslonu kao izlaz.

Tako funkcionira značajka preopterećenja u programskom jeziku C ++. Ovisno o različitim vrstama podataka, ista se funkcija može koristiti za izvođenje sličnog skupa operacija.

Primjer 3

Evo C ++ koda za demonstriranje preopterećenja funkcije u programiranju C ++:

Kodirati:

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

Objašnjenje koda:

U gornjem kôdu stvorili smo klasu X i stvorili cijelu varijablu x, a zatim deklarirali dva konstruktora, tako da ne moramo stvarati objekte za pozivanje funkcije jer konstruktor automatski inicijalizira novo kreirani objekt klase tek nakon dodjele memorije, Dvije funkcije su stvorene operatora i zaslona za prikaz dodavanja dva objekta koristeći koncepte preopterećenja funkcije u našem kodu.

Zaključak

Zaključno, značajka preopterećenja funkcije u C ++ može se koristiti na više načina kako bi se povećala čitljivost koda. Pomaže u uštedi prostora u memoriji kao i vremenu sastavljanja tijekom programiranja na jeziku C ++. Koncept polimorfizma u kompilacijskom vremenu također se uvodi kroz koncepte preopterećenja operatora gdje gotovo svaki operator može biti preopterećen.

Preporučeni članci

Ovo je vodič za preopterećenje funkcije u C ++. Ovdje smo razmotrili različite načine preopterećenja funkcije u C ++, zajedno s različitim primjerima i implementacijom koda. Možete pogledati i sljedeći članak da biste saznali više -

  1. Kako djeluje rekurzivna funkcija u C ++?
  2. Tri najbolje vrste podataka u C ++
  3. Primjeri preopterećenja i preglasavanja u C ++
  4. Niz nizova u C ++ nizu više niza

Kategorija: