Розробка класу обробки геометричних фігур та їх даних за допомогою динамічних масивів даних стандартної бібліотеки шаблонів STL – послідовні контейнери deque
5

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

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

Також С++ надає можливість перевантажувати конструктори(деструктори не можна) та оператори. Оператор в С ++ - це деяка дія або функція, позначена спеціальним символом(+, -, ==, !=, >, < і т.д.). Ключове слово operator надає оголошення функції, що вказує що operator-symbol означає при його застосуванні до екземплярів класу. Це надає оператору багатозначність або "перевантажує" його. Компілятор розрізняє різні види одного і того ж оператора, вивчаючи типи його операндів. Перевантажувати можна будь-які оператори, окрім наступних шести:

. - Вибір члена

.* - Вибір покажчика на член

:: - Оператор області видимості

? : - -Умовний оператор

# - Препроцесор: перетворення в рядок

## - Препроцесор: конкатенація

Для зручної обробки динамічних масивів даних застосується найчастіше клас deque стандартної бібліотеки шаблонів STL. Deque - це двостороння черга.  Дозволяє зберігати елементи, які будуть доступні безпосередньо через ітераторів довільного доступу, при чому границі контейнера можуть автоматично розширюватися і стискатися по мірі необхідності.

Таким чином, deque забезпечує функціональні можливості, подібні до вектора, але з ефективною вставки і видалення елементів і на початку послідовності, і в її кінці. Але, на відміну від векторів, deque не гарантовано зберігає всі свої елементи в суміжних комірках зберігання: Звернення до елементів в deque шляхом покажчика на інший елемент викликає невизначену поведінку. Перш ніж застосовувати клас, необхідно додати заголовок: #include <deque>.