Ім’я_класу.ім’я_функції(список фактичних параметрів)

Таке повідомлення викликає якусь дію, реакцію об'єкта. Можемо вважати, що звертання до звичайного поля даних класу також є елементарним повідомленням (без параметрів):

Ім’я_класу.ім’я_поля.

За такого підходу ООП-програма є послідовністю виразів, у яких об'єк­там передаються деякі повідомлення.

Інколи зручно розміщувати формальні описи класу в одному файлі, а реалізації функцій-членів – в іншому. Підключаючи файли, що містять різні реалізації функцій-членів, можна досягти різної реакції класу на одне й те саме повідомлення.

7.4. Деякі особливостi C++

Коментарі

Як відомо, коментарі в базовій С задаються за допомогою комбінації символів /*–*/:

/*текст коментаря*/.

У С++ для задання коментарів може використовуватись подвійний слеш: //текст коментаря.

Подвійний слеш ставиться на початку кожного рядка, який буде коментарем. У кінці коментаря (коментованого рядка) ставиться символ переведення рядка. Усередині тексту коментаря допускаються будь-які символи (включаючи //).

Прототипи функцій

Прототип функції – це ім'я функції та її сигнатура (список типів параметрів):

returnType functionName (type1 par1, type2 par2,..., typeN parN);

Як відомо, в ANSI С функцію можна оголошувати без сигнатури:

int f();

При цьому компілятор не перевіряє відповiдність типів і кількості параметрів при виклику функції. Якщо при виклику функції параметри не відповідають типам (напр., розміщені не в тому порядку) чи вказана невірна їх кількість, то компілятор не помітить помилки. Вона може виявитись на етапі виконання програми. Тому в С++ рекомендується використовувати повні прототипи функцій при оголошенні. Якщо, наприклад, у С функція f оголошується так (старий стиль):

void f();

то в С++:

void f(void);

При використанні старого стилю оголошення функцій С++ компілятор буде видавати попередження. Тому при компілюванні файла, де використовуються фрагменти з ANSI C, необхідно встановлювати відповідну опцію компіляції.

Операція розширення області видимості

Операція розширення області видимості синтаксично позначається як подвійна двокрапка (::).

У С++ використовується у двох основних випадках:

а) для доступу до змінних, які невидимі в даній області видимості;

б) при визначенні функцій-членів класу за межами формального опису класу.

Розглянемо детальніше випадок а). Нехай ми маємо такий фрагмент програми:

#include <stdio.h>

float r=2.6;

Int increment(int k)

{int r=k+16;

printf("у функцiї increment r=%d\n",r);

printf("значення ззовнi increment r=%0.2f\n",::r);

return r;

}

Void main(void)

{

int r=increment(20);

printf("у функцiї main r=%d\n",r);

printf("значення ззовнi main r=%0.2f\n",::r);

}

Результати роботи програми:

у функцiї increment r=36

значення ззовнi increment r=2.60

у функцiї main r=36

значення ззовнi main r=2.60


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: