- Ключевое слово
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++-разработчика.