Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мищишин електронка.doc
Скачиваний:
1
Добавлен:
08.12.2018
Размер:
1.04 Mб
Скачать

Void show_numbers(int number)

{

cout << "Локальна змінна number" << " містить "

<< number << endl;

cout << "Глобальна змінна number" << " містить "

<< ::number << endl;

}

Void main(void)

{

int some_value = 2002;

show_numbers(some_value);

}

Якшо відкомпілювати і виконати цю програму, на моніторі з'являться наступні рядки:

С:\> GLOBLOCA <ENTER>

Локальна змінна number містить 2002

Глобальна змінна number містить 1001

Як бачите, ваші програми можуть вибрати глобальну або локальну змінну за допомогою глобального оператора дозволу. Проте, як ви, ймовірно, помітили, використовування глобальних і локальних змінних може викликати плутанину, яка у свою чергу може привести до помилок. Тому в міру можливості уникайте використовування глобальних змінних [1].

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

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

Int add_values(int а, int b)

{

return(а + b);

}

Int add_values(int а, int b, int с)

{

return(а + b + с);

}

Void main(void)

{

cout <<"200 + 801 = " << add_values(200, 801)<< endl;

cout << "100 + 201 + 700 = " << add_values(100, 201, 700)

<< endl;

}

Як бачите, програма визначає дві функції з іменами add_values. Перша функція додає два значення типу int, тоді як друга додає три значення також типу int. Ви не зобов'язані що-небудь робити спеціально для того, щоб попередити компілятор про перезавантаження функції, просто використовуйте її. Компілятор розгадає, яку функцію слід використовувати, ґрунтуючись на пропонованих програмою параметрах.

15.Використовування посилань в C++

Посилання C++ дозволяє створити псевдонім (або друге ім'я) для змінних у вашій програмі. Для оголошення посилання усередині програми вкажіть знак амперсанда (&) безпосередньо після типу параметра. Оголошуючи посилання, ви повинні зразу ж присвоїти йому змінну, для якої це посилання буде псевдонімом, як показано нижче:

int& alias_name = variable; " // Оголошення посилання

Після оголошення посилання ваша програма може використовувати або змінну, або посилання:

alias_name = 1001;

variable = 1001;

Наступна програма SHOW_REF.CPP створює посилання з ім'ям alias_паmе і присвоює псевдоніму змінну number. Далі програма використовує як посилання, так і змінну:

Void main(void)

{

int number = 501;

int& alias_name = number; // Створити посилання

cout << "змінна number містить " << number << endl;

cout << "Псевдонім для number містить " << alias_name << endl;

alias_name = alias_name + 500;

cout << "Змінна number містить " << number << endl;

cout << "Псевдонім для number містить " << alias_name

<< endl;

}

Як бачите, програма додає 500 до посилання alias_name. У результаті програма додає 500 також і до відповідної змінної number, для якої посилання служить псевдонімом або другим ім'ям. Якшо відкомпілювати і виконати цю програму, на моніторі з'являться наступні рядки:

С:\> SHOVMREF <ENTER>

Змінна number містить 501

Псевдонім для number містить 501

Змінна number містить 1001

Псевдонім для number містить 1001

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