Введение в перегрузку функций в C ++

Программирование на C ++ имеет удивительные возможности, и одна из самых важных функций - перегрузка функций. Это означает код, имеющий более одной функции с одинаковым именем, но с разными списками аргументов. Список аргументов означает последовательность аргументов и типы данных аргументов. Функция перегрузки используется для выполнения аналогичных операций. Он используется для улучшения читабельности кода. Переопределил функцию, потому что нет смысла создавать две разные функции для выполнения одной и той же работы снова и снова.

Синтаксис

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

Обе функции одинаковы, но аргументы разные. Таким образом, если вы хотите выполнить сложение для разных типов данных, используя одну и ту же функцию, тогда функция программирования перегрузки может быть использована при программировании на C ++.

Вот код C ++, демонстрирующий перегрузку функций в программировании на C ++:

Код:

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

Различные способы перегрузки функции в C ++

Есть несколько способов перегрузить функцию в языке программирования C ++. Давайте посмотрим, как мы можем это сделать:

1. Перегрузка функций

Используйте для повышения читабельности кода в программировании. Это можно определить как перегрузку 2 или более функций с одинаковым именем, но разные параметры известны как перегрузка функций.

Синтаксис:

DataType Functionname (parameter list)
(
Function body
)

Пример № 1

Вот код C ++, демонстрирующий перегрузку функций путем изменения количества аргументов в программировании на C ++:

Код:

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

Пример № 2

Вот код C ++, демонстрирующий перегрузку функций с помощью различных типов аргументов в программировании на C ++:

Код:

#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. Перегрузка оператора

В языке программирования C ++ есть несколько встроенных операторов. Кодер может использовать эти операторы для перегрузки или переопределения этих встроенных операторов. Это полиморфизм во время компиляции, в котором перегруженный оператор используется для выполнения задач над пользовательскими типами данных. Практически многие операторы могут быть перегружены на языке программирования C ++.

Синтаксис:

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

Пример № 1

Вот код C ++, демонстрирующий перегрузку операторов в программировании на C ++:

Код:

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

Пример № 2

Давайте посмотрим, как на самом деле работает перегрузка функций? в программировании через C ++ примеры кодирования:

Код:

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

Объяснение кода:

В приведенном выше коде мы создали функцию для отображения выходных данных разных типов, но если вы заметили, что имя функции одно и то же, а аргументы разные. Затем мы инициализировали переменную с именем x и присвоили ей значение, а также некоторое значение, присвоенное переменной с плавающей точкой y. После присвоения значений переменным x и y мы вызвали показанную функцию для отображения входного значения на экране вывода.

Как вы можете видеть имена функций, но аргумент отличается во всех трех случаях. Во-первых, мы вызывали функцию только показывать целочисленную переменную, после чего мы вызывали функцию показа, чтобы отобразить вывод только для переменной с плавающей запятой. Наконец, мы вызвали функцию show, в которой есть как целочисленные, так и переменные с плавающей точкой, чтобы показать вывод на экране дисплея как вывод.

Вот как на самом деле работает функция перегрузки функций в языке программирования C ++. В зависимости от разных типов данных одну и ту же функцию можно использовать для выполнения аналогичного набора операций.

Пример № 3

Вот код C ++ для демонстрации перегрузки функций в программировании на C ++:

Код:

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

Объяснение кода:

В приведенном выше коде мы создали класс X и создали целочисленную переменную x, а затем объявили два конструктора, так что нам не нужно создавать объекты для вызова функции, поскольку конструктор автоматически инициализирует вновь созданный объект класса сразу после выделения памяти, Две функции создаются оператором и отображают, чтобы показать добавление двух объектов с использованием концепций перегрузки функций в нашем коде.

Вывод

В заключение, функция перегрузки функций в C ++ может использоваться несколькими способами для повышения читабельности кода. Это помогает экономить пространство памяти, а также время компиляции при программировании на языке C ++. Концепция полиморфизма во время компиляции также вводится через концепции перегрузки операторов, где почти каждый оператор может быть перегружен.

Рекомендуемые статьи

Это руководство по перегрузке функций в C ++. Здесь мы обсудим различные способы перегрузки функции в C ++ вместе с различными примерами и реализацией кода. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Как рекурсивная функция работает в C ++?
  2. Лучшие 3 типа данных в C ++
  3. Примеры перегрузки и переопределения в C ++
  4. String Array в C ++ массив из нескольких строк