Introduzione al sovraccarico di funzioni in C ++

La programmazione C ++ ha caratteristiche sorprendenti e una delle caratteristiche più importanti è il sovraccarico delle funzioni. Significa un codice che ha più di una funzione con lo stesso nome ma con le diverse liste di argomenti. L'elenco degli argomenti indica la sequenza degli argomenti e i tipi di dati degli argomenti. Il sovraccarico della funzione viene utilizzato per eseguire operazioni simili. Viene utilizzato per migliorare la leggibilità del codice. Ridefinita la funzione perché non ha senso creare due diverse funzioni per eseguire lo stesso lavoro ancora e ancora.

Sintassi

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

Entrambi hanno la stessa funzione ma gli argomenti sono diversi. Quindi, nel caso in cui si desideri eseguire l'aggiunta su tipi di dati diversi utilizzando la stessa funzione, è possibile utilizzare la funzione di sovraccarico della funzione nella programmazione con C ++.

Ecco il codice C ++ per dimostrare il sovraccarico delle funzioni nella programmazione C ++:

Codice:

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

Diversi modi per sovraccaricare la funzione in C ++

Esistono diversi modi per sovraccaricare una funzione nel linguaggio di programmazione C ++. Vediamo come possiamo farlo:

1. Funzione di sovraccarico

Utilizzare per aumentare la leggibilità del codice nella programmazione. Può essere definito come sovraccarico di 2 o più funzioni con lo stesso nome ma parametri diversi sono noti come sovraccarico di funzioni.

Sintassi:

DataType Functionname (parameter list)
(
Function body
)

Esempio 1

Ecco il codice C ++ per dimostrare il sovraccarico delle funzioni modificando il numero di argomenti nella programmazione C ++:

Codice:

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

Esempio n. 2

Ecco il codice C ++ per dimostrare il sovraccarico delle funzioni avendo diversi tipi di argomenti nella programmazione C ++:

Codice:

#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. Sovraccarico dell'operatore

Esistono diversi operatori integrati nel linguaggio di programmazione C ++. Un programmatore può utilizzare questi operatori per sovraccaricare o ridefinire questi operatori integrati. È un polimorfismo in fase di compilazione in cui un operatore sovraccarico viene utilizzato per eseguire attività su tipi di dati definiti dall'utente. Quasi molti operatori possono essere sovraccaricati nel linguaggio di programmazione C ++.

Sintassi:

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

Esempio 1

Ecco il codice C ++ per dimostrare il sovraccarico dell'operatore nella programmazione C ++:

Codice:

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

Esempio n. 2

Vediamo come funziona il sovraccarico delle funzioni? nella programmazione tramite esempi di codifica C ++:

Codice:

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

Spiegazione del codice:

Nel codice sopra, abbiamo creato una funzione per mostrare l'output di diversi tipi di dati, ma se noti che il nome delle funzioni è lo stesso e gli argomenti sono diversi. Quindi abbiamo inizializzato una variabile chiamata x e le abbiamo assegnato un valore e anche un valore assegnato alla variabile float y. Dopo aver assegnato i valori alle variabili xey abbiamo chiamato la funzione mostrata per visualizzare il valore di input nella schermata di output.

Come puoi vedere i nomi delle funzioni, ma l'argomento è diverso in tutti e tre i casi. Innanzitutto, abbiamo chiamato la funzione show only variabile integer dopo che abbiamo chiamato show function per visualizzare l'output solo per la variabile float. Infine, abbiamo chiamato la funzione show che ha sia variabili intere che variabili per mostrare l'output sullo schermo come output.

Ecco come funziona effettivamente la funzione di sovraccarico nel linguaggio di programmazione C ++. A seconda dei diversi tipi di dati, è possibile utilizzare la stessa funzione per eseguire una serie simile di operazioni.

Esempio n. 3

Ecco il codice C ++ per dimostrare il sovraccarico di funzioni nella programmazione C ++:

Codice:

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

Spiegazione del codice:

Nel codice sopra, abbiamo creato una classe X e creato una variabile intera x e quindi dichiarato due costruttori in modo da non dover creare oggetti per chiamare la funzione poiché il costruttore inizializza automaticamente un oggetto classe appena creato subito dopo l'allocazione di una memoria . Vengono create due funzioni operatore e display per mostrare l'aggiunta di due oggetti usando concetti di sovraccarico delle funzioni nel nostro codice.

Conclusione

In conclusione, la funzione di sovraccarico delle funzioni in C ++ può essere utilizzata in molti modi per aumentare la leggibilità del codice. Aiuta a risparmiare spazio di memoria e tempo di compilazione durante la programmazione con il linguaggio C ++. Il concetto di polimorfismo in fase di compilazione viene inoltre introdotto attraverso concetti di sovraccarico dell'operatore in cui quasi tutti gli operatori possono essere sovraccaricati.

Articoli consigliati

Questa è una guida al sovraccarico delle funzioni in C ++. Qui discutiamo i vari modi per sovraccaricare la funzione in C ++ insieme a diversi esempi e implementazione del codice. Puoi anche leggere il seguente articolo per saperne di più -

  1. Come funziona la funzione ricorsiva in C ++?
  2. Primi 3 tipi di dati in C ++
  3. Esempi di sovraccarico e override in C ++
  4. String Array in C ++ un array di più stringhe

Categoria: