Въведение във функцията Претоварване в 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 и й присвоихме стойност и някаква стойност, присвоена на float променлива 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 ++ масив от множество низове