ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 8) онлайн
Ключевое слово operator
Как использовать обычные операции с определенными пользователями типами? В этом объявлении использовано ключевое слово operator для перегрузки опе- рации ++:
void operator++ ( )
Сначала пишут возвращаемый тип (в нашем случае void), затем ключевое слово operator, затем саму операцию (++) и наконец список аргументов, заключен- ный в скобки (здесь он пуст). Такой синтаксис говорит компилятору о том, что если операнд принадлежит классу Counter, то нужно вызывать функцию с таким именем, встретив в тексте программы операцию ++.
Мы видели в главе 5 «Функции», что только компилятор может различать перегружаемые функции по типу данных и количеству их аргументов. Перегру-
жаемые операции компилятор отличает по типу данных их операндов. Если операнд имеет базовый тип, такой, как int в
++intvar;
то компилятор будет использовать свою встроенную процедуру для увеличения переменной типа int. Но если операнд является объектом класса Counter, то ком- пилятор будет использовать написанную программистом функцию operator++().
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
