ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 8) онлайн

Ключевое слово operator

Как использовать обычные операции с определенными пользователями типами? В этом объявлении использовано ключевое слово operator для перегрузки опе- рации ++:

void operator++ ( )

Сначала пишут возвращаемый тип (в нашем случае void), затем ключевое слово operator, затем саму операцию (++) и наконец список аргументов, заключен- ный в скобки (здесь он пуст). Такой синтаксис говорит компилятору о том, что если операнд принадлежит классу Counter, то нужно вызывать функцию с таким именем, встретив в тексте программы операцию ++.

Мы видели в главе 5 «Функции», что только компилятор может различать перегружаемые функции по типу данных и количеству их аргументов. Перегру-

жаемые операции компилятор отличает по типу данных их операндов. Если операнд имеет базовый тип, такой, как int в

++intvar;

то компилятор будет использовать свою встроенную процедуру для увеличения переменной типа int. Но если операнд является объектом класса Counter, то ком- пилятор будет использовать написанную программистом функцию operator++().

 

4