Зміст
Введення
. Поняття перевантаження операцій
. Перевантаження різних операцій
. Пpимеp програми з перевантаженням операцій
. Поліморфізм
. Правило isA ()
Висновок
Список літератури
Введення
Тип змінної визначає набір значень, які вона може зберігати, а також набір операцій, які можна виконувати над цієї змінної. Наприклад, над значенням змінної типу int ваша програма може виконувати додавання, віднімання, множення і ділення. З іншого боку, використання оператора плюс для складання двох рядків позбавлене всякого сенсу. Коли ви визначаєте у своїй програмі клас, то по суті ви визначаєте новий тип. А якщо так, C + + дозволяє вам визначити операції, відповідні цього нового типу. p align="justify"> Перевантаження оператора полягає у зміні сенсу оператора (наприклад, оператора плюс (+), який зазвичай в C + + використовується для додавання) при використанні його з певним класом. У даному уроці ви визначите клас string і перевантажите оператори плюс і мінус. Для об'єктів типу string оператор плюс буде додавати вказані символи до поточного вмісту рядка. Подібним чином оператор мінус буде видаляти кожне входження зазначеного символу з рядка. p align="justify"> Перевантаження операторів може спростити найбільш загальні операції класу і поліпшити читаність програми.
перевантаження доопределение оператор поліморфізм
1. Поняття перевантаження операцій
У С + + використовується безліч операцій, серед яких арифметичні операції (+, *, -,/і т.п.), логічні (>>, &, | і т.п .), операції відносин (==,>, <, <= тощо).
На всі операції мови С + +, крім операцій оголошення, new, delete, та інших операцій, пов'язаних з визначенням похідних типів даних, поширюється властивість перегружаемості , тобто можливості використання в різних випадках для однієї і тієї ж операції операндів різних типів. Так, наприклад, операція складання дозволяє "змішувати" типи int, double, float і інші в одному вираженні. Такий поліморфізм забезпечений внутрішніми механізмами мови С + +.
У тому випадку, якщо програміст визначив небудь свої класи, він може сам вирішити, що означатимуть операції мови С + +, коли вони використовуються над об'єктами цих класів, тим самим розширивши число типів даних, для яких можна використовувати ту чи іншу операцію. Перевизначати або доопределять операції допускається не тільки для знаків операцій, введених самим програмістом, а й для знаків, визначених у мові споконвічно (таких, як +