Introdução à sobrecarga de funções em C ++

A programação C ++ possui recursos incríveis e um dos recursos mais importantes é a sobrecarga de funções. Significa um código com mais de uma função com o mesmo nome, mas com diferentes listas de argumentos. A lista de argumentos significa a sequência dos argumentos e os tipos de dados dos argumentos. A sobrecarga de função é usada para executar operações semelhantes. É usado para melhorar a legibilidade do código. Redefiniu a função porque não há sentido em criar duas funções diferentes para executar o mesmo trabalho repetidamente.

Sintaxe

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

Ambos são da mesma função, mas os argumentos são diferentes. Portanto, caso você deseje realizar adição em diferentes tipos de dados usando a mesma função, o recurso de sobrecarga de funções pode ser usado na programação com C ++.

Aqui está o código C ++ para demonstrar a sobrecarga de funções na programação C ++:

Código:

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

Maneiras diferentes de sobrecarregar a função em C ++

Existem várias maneiras de sobrecarregar uma função na linguagem de programação C ++. Vamos ver como podemos fazer isso:

1. Sobrecarga de Função

Use para aumentar a legibilidade do código na programação. Pode ser definido como sobrecarregando 2 ou mais funções com o mesmo nome, mas parâmetros diferentes são conhecidos como Sobrecarga de funções.

Sintaxe:

DataType Functionname (parameter list)
(
Function body
)

Exemplo 1

Aqui está o código C ++ para demonstrar a sobrecarga de funções alterando o número de argumentos na programação C ++:

Código:

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

Exemplo 2

Aqui está o código C ++ para demonstrar a sobrecarga de funções, tendo diferentes tipos de argumentos na programação C ++:

Código:

#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. Sobrecarga do Operador

Existem vários operadores internos na linguagem de programação C ++. Um codificador pode usar esses operadores para sobrecarregar ou redefinir esses operadores internos. É um polimorfismo em tempo de compilação no qual um operador sobrecarregado é usado para executar tarefas em tipos de dados definidos pelo usuário. Quase muitos operadores podem estar sobrecarregados na linguagem de programação C ++.

Sintaxe:

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

Exemplo 1

Aqui está o código C ++ para demonstrar a sobrecarga do operador na programação C ++:

Código:

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

Exemplo 2

Vamos ver como a sobrecarga de funções realmente funciona? na programação através de exemplos de codificação C ++:

Código:

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

Código Explicação:

No código acima, criamos uma função para mostrar a saída de diferentes tipos de dados, mas se você notar que o nome das funções é o mesmo e os argumentos são diferentes. Em seguida, inicializamos uma variável chamada x e atribuímos a ela um valor e algum valor atribuído à variável flutuante y também. Após atribuir valores às variáveis ​​x e y, chamamos a função mostrada para exibir o valor de entrada na tela de saída.

Como você pode ver os nomes das funções, o argumento é diferente nos três casos. Primeiro, chamamos a função show only variable integer, depois chamamos show function para exibir a saída apenas da variável float. Finalmente, chamamos a função show, que possui variáveis ​​inteiras e flutuantes para mostrar a saída na tela do display como saída.

É assim que realmente funciona o recurso de sobrecarga de funções na linguagem de programação C ++. Dependendo dos diferentes tipos de dados, a mesma função pode ser usada para executar um conjunto semelhante de operações.

Exemplo 3

Aqui está o código C ++ para demonstrar a sobrecarga de funções na programação C ++:

Código:

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

Código Explicação:

No código acima, criamos uma classe X e criamos uma variável inteira x e declaramos dois construtores para que não precisemos criar objetos para chamar a função, pois o construtor inicializa automaticamente um objeto de classe recém-criado logo após a alocação de memória . Duas funções são criadas operador e exibidas para mostrar a adição de dois objetos usando conceitos de sobrecarga de função em nosso código.

Conclusão

Em conclusão, o recurso de sobrecarga de função no C ++ pode ser usado de várias maneiras para aumentar a legibilidade do código. Ajuda a economizar espaço de memória e tempo de compilação ao programar com a linguagem C ++. O conceito de polimorfismo em tempo de compilação também é introduzido através dos conceitos de sobrecarga do operador, onde quase todos os operadores podem ser sobrecarregados.

Artigos recomendados

Este é um guia para a Função Sobrecarga em C ++. Aqui discutimos as várias maneiras de sobrecarregar a função em C ++, juntamente com diferentes exemplos e implementação de código. Você também pode consultar o seguinte artigo para saber mais -

  1. Como a função recursiva funciona em C ++?
  2. Os três principais tipos de dados em C ++
  3. Exemplos de sobrecarga e substituição em C ++
  4. Matriz de seqüência de caracteres em C ++ uma matriz de várias seqüências de caracteres