Курсовая работа: Розробка програм мовою С++
...
} // кінець тіла функції
Тип вертаного функцією значення вказує тип даних результату, що повертається із функції оператору її виклику. В С, якщо тип значення, що повертається функцією, не заданий, то функція за замовчуванням повертає значення int. В С++ необхідно явно оголошувати тип значення, що повертається функціями. Якщо функція не вертає значення, то її тип повинен бути вказаний як void.
Ім’я функції формується за правилами написання ідентифікатора. Потрібно пам’ятати, що синтаксис мови С++ чутливий до регістра символів, тому
int Fun( )
int fun( )
int FUN( )
відносяться до заголовків трьох різних функцій.
Список параметрів — інакше його називають списком формальних параметрів — розділений комами список змінних, які приймають значення в момент активізації функції під час її виклику. Як об’єкти списку можуть використовуватися прості змінні, масиви, вказівники, а також типи, що визначаються користувачем. Список параметрів може бути відсутнім, тоді список параметрів задається як void. Список параметрів береться в круглі дужки, після яких точка з комою не ставиться. С++ відрізняється від С способом завдання порожнього списку параметрів. У С порожній список параметрів означає, що перевірка аргументів відсутня, при виклику функції може бути переданий будь-який аргумент. У С++ це означає відсутність аргументів, наступні два оголошення еквівалентні.
Наприклад,
int fun ( );
int fun (void);
Усі об’єкти списку мають бути описані відповідними типами безпосередньо в списку параметрів перед відповідним елементом списку.
float Sum (float v, int d)
Потім записується складний оператор, у якому описуються змінні, що беруть участь у розрахунках усередині функції і за необхідності оператор повернення значення return. Оператор return може повертати в точку виклику функції лише одне значення, яке може бути виразом, змінною, константою чи вказівником. Крім передачі значень оператор return завершує виконання функції і передає керування наступному оператору викличної функції, навіть у тому разі, якщо він не є останнім. Коли функція не повертає ніякого значення, то вираз в операторі відсутній, у цьому випадку оператор return можна опустити.
Звертання до функції має бути реалізоване з іншої функції, в якій обов’язково повинен міститися опис типів вертаного функцією значення і бути вказане ім’я функції зі списком аргументів (або ж фактичних аргументів чи фактичних параметрів) у потрібному місці будьякого виразу.
<ім’я функції> (<список аргументів>);
Аргументи повинні бути попередньо описані. У списку аргументів вони знаходяться у тій самій послідовності, що й у списку параметрів функції. Аргументи передаються з викличної функції в функцію, що викликається, за значенням, тобто обчислюється значення кожного виразу, що представляє аргумент, і це значення використовується в тілі функції замість відповідного формального параметра.
Аргументи можуть бути константами, простими змінними, масивами, вказівниками. Безпосередньо в момент активізації функції відбувається формування стека передаваних у функцію значень, в якому довжина кожного значення визначається типом аргументу, що передається. Виняток становлять вказівники, при їх використанні відбувається не передавання значень, а переад-ресація параметрів функції за конкретними адресами пам’яті.
Оголошення функції — це оператор, що включає в себе тип вертаного значення, ім’я функції та її параметри. Цей оператор закінчується крапкою з комою. Мова С++ вимагає, щоб оголошення функції передувало її визначенню або першому використанню в програмі. Таке оголошення називається прототипом функції. Прототип функції вказує компілятору тип даних, що повертаються функцією, кількість параметрів, яку чекає функція, тип параметрів і очікуваний порядок їх слідування. Компілятор використовує прототип функції для перевірки правильності викликів функції. Прототип функції має вигляд:
<тип вертаного значення> <ім’я функції> (<список аргументів>);
Наприклад, int sum (int, int, int);
Цей прототип вказує, що sum має три аргументи типу int і повертає результат типу int.
Прототип розміщується у викличній програмі до заголовку main( ). При наявності прототипу передбачається перетворення аргументів до активізації функції в тип, завданий для відповідно-сті параметрів у прототипі. Наприклад,
int f(float а, float b)
main ( )
{ float a1, int b1;
t = f(a1, b1);
. . . }