Содержание
- 2. Перевантаження функцій Перевантажені функції – це функції з одним й тим же ім'ям, що мають різні
- 3. Приклад void f(int); void f(char); void f(long); void f(float, int); void f(int, int, int);
- 4. Важливо! Функції, що перевантажуються, не повинні мати співпадаючі списки параметрів (в тому числі і при використанні
- 5. Вибір перевантаженої функції Якщо визначені декілька функцій з однаковим ім'ям та різними списками параметрів (перевантажені функції)
- 6. Правила порівняння Точні збіги Розширення Стандартні перетворення Перетворення, що потребують тимчасові змінні параметр визначений як посилання,
- 7. Приклади void print(int); void print(const char *); void print(double); void print(long); void print(char); char c; int
- 8. Приклад з помилкою void f(int, float); void f(float, int); Виклик, який приведе к генерації повідомлення про
- 9. Перевантаження операторів Перевантаження оператора полягає в зміні сенсу оператора (наприклад, оператора плюс (+), який звичайно в
- 10. Оператори, дозволені до перевантаження
- 11. Оператори, заборонені до перевантаження Існують також оператори, заборонені до перевантаження. Зміна їх змісту зруйнувало би логіку
- 12. Синтаксис операторних функцій тип_значення_що_повертається operator символ_операції(параметри) { ... } Наприклад, операторна функція, що перевантажує операцію +,
- 13. Обмеження, що супроводжують застосування перевантажених операторів 1. Перевантажені функції не можуть змінити пріоритет операторів. 2. Кількість
- 14. ПЕРЕВАНТАЖЕННЯ УНАРНИХ ОПЕРАТОРІВ ЗА ДОПОМОГОЮ ФУНКЦІЙ-ЧЛЕНІВ Оператори можуть бути унарними і бінарними. Унарний оператор має один
- 15. Унарні оператори “плюс” і “мінус” class TComplex { double Re; double Im; public: TComplex(double x, double
- 16. Оператори інкремента і декремента TComplex& operator++() { ++Re; ++Im; printf("Префіксна форма ++ \n"); return *this; }
- 17. int main() { TComplex z(1,1); ++z; z.print(); z++; z.print(); --z; z.print(); z--; z.print(); return 0; }
- 18. Унарні оператори !, & і ~ Оператори заперечення (!), взяття адреси (&) і побітового заперечення (~)
- 19. Перевантаження оператора -> class TClass { int n; int counter; public: TClass(int x){n=x;counter=0;} TClass* operator->(); int
- 20. ПЕРЕВАНТАЖЕННЯ БІНАРНИХ ОПЕРАТОРІВ ЗА ДОПОМОГОЮ ФУНКЦІЙ-ЧЛЕНІВ Бінарний оператор має два операнди. Його виклик виконується об'єктом, розташованим
- 21. Перевантаження бінарного оператора + class TComplex { double Re; double Im; public: TComplex(double x, double y){Re=x;Im=y;}
- 22. Перевантаження оператора присвоювання class TArray { int *p; int size; public: TArray(long n, int x); TArray(TArray&);
- 23. Перевантаження оператора присвоювання TArray::TArray(TArray& X) { size=X.size; p = new int[size]; // Глибоке копіювання for (long
- 24. Перевантаження скорочених операторів присвоювання class TComplex { double Re; double Im; public: TComplex(double x, double y):Re(x),Im(y){
- 25. int main() { TComplex u(1,1),v(2,2),z(3,3); u+=v; u.print(); z=u+v; z.print(); getch(); return 0; }
- 26. ПЕРЕВАНТАЖЕННЯ БІНАРНИХ ОПЕРАТОРІВ ЗА ДОПОМОГОЮ ДРУЖНІХ ФУНКЦІЙ class TComplex { double Re; double Im; public: TComplex(double
- 28. Скачать презентацию