- Ключевое слово
class для объявления - Тело класса между фигурными скобками
- Точка с запятой после закрывающей скобки
- Модификаторы доступа:
public, private, protected
| Код | Описание |
class Rectangle { public: int width, height; int area() {return width*height;} }; | Класс Rectangle с полями width, height и методом area() |
- Внутренние методы определяются внутри класса
- Внешние методы объявляются в классе, определяются вне
- Для внешних методов используется оператор разрешения области видимости
::
- Конструктор - метод с именем класса без возвращаемого типа
- Деструктор -
~ИмяКласса() - Конструктор по умолчанию, копирования, перемещения
- Списки инициализации для конструкторов
| Функция | Описание |
| Статические члены | Общие для всех экземпляров класса |
| Дружественные функции | Доступ к private-членам извне класса |
| Перегрузка операторов | Определение поведения операторов для класса |
- Синтаксис:
class Derived : public Base - Виды наследования: public, protected, private
- Множественное наследование
- Виртуальные базовые классы
- Ключевое слово
virtual для полиморфных методов - Чисто виртуальные функции:
= 0 - Абстрактные классы
- Переопределение методов в производных классах
| Применение | Пример класса |
| Работа с данными | String, Vector, Matrix |
| Графический интерфейс | Window, Button, Menu |
| Игровая разработка | Character, Weapon, Inventory |
Классы в C++ предоставляют мощный механизм для создания сложных программных систем. Правильное использование инкапсуляции, наследования и полиморфизма позволяет разрабатывать гибкий, поддерживаемый и расширяемый код. Освоение работы с классами - важный шаг в становлении профессионального C++-разработчика.