Методичні вказівки до виконання практичних та лабораторних робіт з курсу «Обчислювальна техніка та програмування», страница 17

sum (int, int, int*);

void main ()

{int a, b, c=0;

cin>>a>>b;

sum (a, b, &c);

cout<<c<<endl;

}

void sum (intd, intl, int*f)

{*f=d+l}

Виклик функцій з використанням механізму заслань. При передачі параметрів. Цей засіб забезпечує доступ до параметрів, що передаються шляхом визначення їхнього альтернативного імені. Наприклад

#include<iostream. h>

void sum (int, int, int&);

void main ()

{int a, b, c=0;

cin >> a >> b;

sum (a, b, c);

cout << c << endl;

}

void sum (int d, int l, int &f)

{

f=d+l;

}

Виклик функції з передачею даних шляхом глобальних параметрів. Цей засіб забезпечує передачу вхідних даних в функцію і повернення результату обчислень шляхом використання глобальних параметрів. Наприклад

#include <iostream. h>

int a, b, c;

sum ();

main ()

{

cin >> a >> b;

sum ();

cout<<c<<endl;

}

sum ()

{c=a+b;//a, b, c - глобальні змінні

}

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

Оголошення значень функції за замовчанням виробляється шляхом вказівки значень аргументів в прототипі функції шляхом оператора привласнення.

#include<iostream. h>

float ur (float x, float a=0., float b=0., float c=0.);

int main ()

{float a=1., b=2., c=3., x=0. 5, y;

y=ur (x, a, b, c);

cout<<”введені всі аргументи”<<"\n";

cout<<y<<"\n";

y=ur (x, a, b);

cout<<”введені x, a і b”<<"\n";

cout<<y<<"\n";

y=ur (x);

cout<<”введено  x”<<"\n";

cout<<y<<"\n";

cin>>a;

}

float ur (float x, float a, float b, float c)

{

return a*x*x+b*x+c;

}

На екрані дисплею ми отримаємо наступні результати роботи наведеної вище програми.

Введені всі аргументи

4.25

Введені x, a і b

1.25

Введено x

0

Функції inline. В мові С++ знайшли широке застосування встроєні функції (inline). Ці функції встраюваються, в місцях виклику цих функцій, в робітничий код програми на етапі компіляції, що забезпечує економію часу яка витрачається на виклик функції.

Визначення встраюваємих функцій відрізняється від описаних вище тільки наявністю зарезервованого слова «inline» перед ідентифікатором типу функції, при її описі.

Слідує знати, що не всі функції певні як встраюваємі компілятор справді визначить як встраюваємі.

#include<iostream. h>

inline float ur (float x, float a=0., float b=0., float c=0.);

int main ()

{float a=1., b=2., c=3., x=0. 5, y;

y=ur (x, a, b, c);

cout<<'введені всі аргументи'<<"\n";

cout<<y<<"\n";

y=ur (x, a, b);

cout<<”введені x, a і b”<<"\n";

cout<<y<<"\n";

y=ur (x);

cout<<”введено x”<<"\n";

cout<<y<<"\n";

cin>>a;

return 0;

}

inline float ur (float x, float a, float b, float c)

{

return a*x*x+b*x+c;

}

В мові C++ допустима  рекурсія. Рекурсія - це засіб організації обчислювального процесу, при якому процедура або функція може звертатися сама до собе: