Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Знайомство з класами c++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
823 Кб
Скачать
☆

Оператори, які he можна перенавантажувати

В загальному випадку ваші програми можуть перенавантажувати майже всі оператори С++. Нижче перераховані оператори, які C++ не дозволяє перенавантажувати.

Оператори C++, які ваші програми не можуть перенавантажувати.

Оператор 

Призначення

Приклад

.

Вибір елемента

object.member

.*

Покажчик на елемент

object.*member

::

Дозвіл області видимості

classname::member

?:

Умовний оператор порівняння

з = (а > b) ? а : b;

Підсумок

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

    1. Щоб перенавантажувати оператор, ви повинні визначити клас, якому оператор буде призначений.

    2. Коли ви перенавантажуєте оператор, перевантаження діє тільки для класу, в якому він визначається.

    3. Щоб перенавантажувати оператор класу, використовуйте ключове слово C++ operator для визначення методу класу, який C++ викликає, кожного разу, коли змінна класу використовує оператор.

    4. C++ не дозволяє вашим програмам перенавантажувати оператор вибору елемента (.), оператор покажчика на елемент (.*), оператор дозволу області глобальної видимості (::) і умовний оператор порівняння (?:).

§7. Статичні функції і елементи даних

До цього моменту кожний створюваний вами об'єкт мав свій власний набір елементів даних. Залежно від призначення програми можуть бути ситуації, коли об'єкти одного і того ж класу повинні спільно використовувати один або декілька елементів даних. Наприклад, припустимо, що ви пишете програму платежів, яка відстежує робочий час для 1000 службовців. Для визначення податкової ставки програма повинна знати умови, в яких працює кожний службовець. Хай для цього використовується змінна класу state of work. Проте, якщо всі службовці працюють в однакових умовах, ваша програма могла б спільно використовувати цей елемент даних для всіх об'єктів типу person. Таким чином, ваша програма зменшує необхідну кількість пам'яті, викидаючи 999 копій однакової інформації. Для сумісного використовування елемента класу ви повинні оголосити цей елемент як static (статичний). Цей урок розглядає що ви повинні виконати для сумісного використовування елемента класу декількома об'єктами.

В першу чергу необхідно освоїти такі моменти:

  • C++ дозволяє мати об'єкти одного і того ж типу, які спільно використовують один або декілька елементів класу.

  • Якщо ваша програма привласнює значення спільно використовуваному елементу, то всі об'єкти цього класу відразу ж дістають доступ до цього нового значення.