Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Перевантаження функцій

У мові С++ можна використовувати перевантаження функцій, тобто можливість визначати функції з одним ім'ям, але з різним типом і кількістю формальних параметрів.

Основне достоїнство перевантажених функцій ¾ це можливість визначати кілька функцій з тим самим ім'ям, але з різними типами і числом параметрів.

Приклад 5.6. Зробити програмну реалізацію з використанням перевантаження функцій.

#include <string.h>

#include < iostream >

using namespace std;

int funp (int x) //1.

{ return x*x; }

int funp (unsigned x) //2.

{ return -x*x; }

char funp (char x) //3.

{ return x+3; }

int funp (int x, char *y) //4.

{ return x*strlen ( y); }

int funp (int x , char y) //5.

{ return x*y; }

float funp (float r) //6.0

{ return r*r; }

Float funp (double r) // 7.

{ return r+r; }

Int main ( )

{

cout << funp(5) << endl ;// Буде 25

cout << funp ((unsigned)10) << endl ;// Буде 100

cout << funp ( 'а') << endl ; // Буде d

cout << funp (4,"abc") << endl ; // Буде 12

cout << funp ( 4 , 'а') << endl ; // Буде 388

cout << funp( 1.2)<< endl ; // Буде 1.44

cout << funp( (double) 4.5) << endl ;// Буде 9

return 0;

}

 

У заголовку функції завжди вказується тип її імені, а в самій підпрограмі цьому імені повинне бути привласнене значення, що повертається в головну програму замість звертання до функції.

 

 

5.3 Контрольні питання

1. Що таке функція і яка її структура?

2. Що означає передача параметрів у функцію за значенням, за посиланням і за покажчиком?

3. Що таке локальні і глобальні змінні?

4. Як використовувати покажчики на функцію?

5. Які способи передачі і повернення результату обчислень функції?

6. Як використовувати одновимірні масиви як параметри функції?

7. Які особливості використання багатовимірних масивів як аргументи функції?

8. Чи можна обробляти у функції масиви змінної довжини?

9. Чи може функція передавати кілька результатів у місце виклику?

10. Що таке перевантаження функцій?

 




Переглядів: 644

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.006 сек.