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

16. Перегрузка унарных операторов.

Унарный оператор, префиксный или постфиксный, можно определить либо в виде нестатической функции-члена без аргументов, либо в виде функции не члена, с одним аргументом. Для любого унарного оператора @ выражение @aa интерпретируется либо как aa.operator@(), либо как operator@(aa). Если определены обе функции, для определения того, какую из них использовать, то применяется механизм разрешения перегрузки. Для любого постфиксного оператора @ выражение @aa интерпретируется либо как aa.operator@(int) либо как operator@((aa,int)0

17. Перегрузка бинарных операторов.

Бинарный оператор можно определить либо в виде нестатичной функции-члена с одним аргументом, либо в виде функции-не члена с двумя аргументами. Для любого бинарного оператора @ выражение aa@bb интерпретируется либо как aa.operator@(bb) либо operator@(aa,bb). Если определены обе функции, для определения того, какую из них использовать, то применяется механизм разрешения перегрузки

18. Функция оператор как член класса и как friend функция.

Обычное объявление функции-члена гарантирует три логически разные вещи: функция имеет право доступа к закрытой части объявления класса, функция находится в области видимости класса, функция должна вызываться для объекта класса. Объявив функцию как static мы придаем ей только первые два свойства. Объявив функцию как friend мы наделяем ее только первым свойством.. Объявление функций-друзей можно поместить и в закрытой и в открытой части объявления класса. Функции-друзья явно указываются в объявлении класса , друзьями которого они являются.

19. Дружественные функции.

Обычное объявление функции-члена гарантирует три логически разные вещи: функция имеет право доступа к закрытой части объявления класса, функция находится в области видимости класса, функция должна вызываться для объекта класса. Объявив функцию как static мы придаем ей только первые два свойства. Объявив функцию как friend мы наделяем ее только первым свойством.. Объявление функций-друзей можно поместить и в закрытой и в открытой части объявления класса. Функции-друзья явно указываются в объявлении класса , друзьями которого они являются.