Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:
Примеры можно найти в определениях классов
Перегрузить можно все операторы за исключением следующих:
Функции, определяющие следующие операторы, должны
Все остальные операторы можно определить и как члены-функции, и как самостоятельные функции.
Обратите внимание на то, что каждый пользовательский тип имеет оператор
При перегрузке операторов следует проявлять умеренность и придерживаться общепринятых соглашений.
A.11. Перечисления
Перечисление (enumeration) определяет тип, содержащий набор именованных значения (перечислителей).
По умолчанию первый перечислитель равен нулю
Итак,
Отметим, что перечислители принадлежат не области видимости своего перечисления, а охватывающей области видимости.
Перечислители и значения перечислений неявно преобразовываются в целые числа, но целые числа не преобразовываются в типы перечислений неявно.
Использование перечислений обсуждается в разделе 9.5.
A.12. Классы
Класс (class) — это тип, для которого пользователь определил представление его объектов и операции, допустимые для этих объектов.
Переменные,
функции и типы, определенные в объявлении класса, называются членами этого класса. Технические детали изложены в главе 9.A.12.1. Доступ к членам класса
Открытый член класса доступен для пользователей; закрытый член класса доступен только членам класса.
Структура — это класс, члены которого по умолчанию являются открытыми.
Более подробная информация о доступе к членам класса, включая обсуждение защищенных членов, приведена в разделе 14.3.4.
К членам объекта можно обращаться с помощью оператора
На члены класса можно ссылаться с помощью оператора
В функциях-членах класса можно ссылаться на другие члены класса, не указывая имя класса.
Такие имена относятся к объекту, из которого вызвана функция: