Кратко
- Данные-члены: Переменные внутри класса.
- Функции-члены: Методы внутри класса.
- Инициализация полей: Через конструкторы и списки инициализации.
- Встраивание: Определение функций внутри класса.
- Специальные функции-члены: Конструктор по умолчанию, конструктор копирования, оператор присваивания, деструктор.
Подробнее
Данные-члены (переменные-члены)
Переменные, которые хранят данные, специфичные для объекта класса.
class MyClass {
public:
int data; // Переменная-член
};
Функции-члены (методы)
Функции-члены выполняют операции над данными-членами класса.
class MyClass {
public:
void myFunction() { // Функция-член
// Код функции
}
};
Инициализация полей класса
Производится через конструкторы и списки инициализации, см. Конструкторы. Также см. Битовые поля.
Встраивание (Inline функции)
Функции-члены могут быть определены внутри класса, что делает их автоматически inline.
class MyClass {
public:
int data;
// Inline функция
void setData(int d) {
data = d;
}
};
Специальные функции-члены класса
-
Конструктор по умолчанию, конструктор копирования - см. Конструкторы
-
Оператор присваивания - Оператор для копирования значений одного объекта в другой.
class MyClass { public: int data; MyClass& operator=(const MyClass &other) { if (this != &other) { data = other.data; } return *this; } };
-
Деструктор - Вызывается при уничтожении объекта для освобождения ресурсов.
class MyClass { public: ~MyClass() { // Освобождение ресурсов } };
Пример
class MyClass {
public:
int data;
// Конструктор по умолчанию
MyClass() : data(0) {}
// Конструктор с параметром
MyClass(int d) : data(d) {}
// Конструктор копирования
MyClass(const MyClass &other) : data(other.data) {}
// Оператор присваивания
MyClass& operator=(const MyClass &other) {
if (this != &other) {
data = other.data;
}
return *this;
}
// Деструктор
~MyClass() {
// Освобождение ресурсов
}
// Inline функция
void setData(int d) {
data = d;
}
};