Вложенность областей видимости, видимых из метода класса.
Операция ::
для доступа к области видимости класса и глобальной области
видимости. Использование .
и ->
для работы с полями и методами.
Ключевое слово this
.
См. пример 1.
Константные нестатические методы класса. Разделение методов класса на объявление внутри класса и определение вовне класса. Как можно "обмануть" компилятор и модицировать константный объект и почему так делать не надо.
См. пример 2.
Перегрузка метода одновременно и константным, и неконстантным вариантом. Правило выбора.
См. пример 3.
Разделение класса на объявление класса, помещаемое в .h
-файл
и реализацию, помещаемую в .cpp
-файл. Компоновка программы.
См. пример 4 (.h).
Ключевое слово inline
для определения методов в .h
-файлах.
См. пример 5 (.h).
Статические методы класса.
См. пример 6.
Статические поля класса.
См. пример 7.
Статические константы класса, варианты с static const
и static constexpr
.
Статические поля класса static inline
.
См. пример 8.
Перегрузка операций. Вариант с перегружаемой операцией как членом класса. Вариант с перегружаемой операцией как свободной функцией.
См. пример 9.
Пример с перегрузкой операции +
как члена класса и операции *
как свободной функции. Почему лучше вариант свободной функции.
См. пример 10.