1: Основы программирования C Лекция 8. Дружественные функции и перегрузка операторов
2: Мем
3: Дружественная функция Дружественная функция — это функция, которая не является членом класса, но имеет доступ к членам класса, объявленным в полях private или protected. То есть такая функция не привязана к объекту, но может использовать данные объектов. Объявляется и описывается функция как обычная вне класса, но подсоединяется к классу с меткой friend.
4: Пример class Int int val; public: Int(int val 0)val val; friend Int plusInt(Int l, Int r); friend void showValue(Int dat) cout
5: Перегрузка операторов При помощи перегрузки операторов, для созданных классов можно определить поведение большинства стандартных операторов С. То есть для, например, определенного пользователем класса комплексного числа можно определить арифметические операторы. Также можно переопределить приведение типов. Обычно перегрузка операторов производится с помощью дружественных функций для удобства.
6: Пример переопределения class Complex int Re; int Im; public: Complex(int r 0, int i 0) Re r; Im i; friend Complex operator(Complex &l, Complex &r); void show() cout
7: Оператор приведения С помощью перегрузок операторов, можно создавать операторы приведения типов. Пример приведения к типу int operator int() return Re; Тем самым при вызове явного приведения типа объекта Complex к Int, вернётся значение действительного числа.
8: Какие операторы не переопределяются
9: Задание Переопределить операторы: Присваивания Приведения к float Унарный минус Умножения
10: Мем в конце