Уроки модуля (1/2)
Классы и объекты
Объектно-ориентированное программирование (ООП) — это основная парадигма C++. Он позволяет группировать данные и функции в отдельные объекты, называемые классами.
Класс действует как образец, а объект — это конкретный экземпляр этого класса.
Базовый синтаксис class
В C++ вы используете ключевое слово class. В отличие от некоторых других языков, в C++ определения классов должны заканчиваться точкой с запятой ;:
#include <iostream>
#include <string>
class Player {
// By default, all members of a class are private
private:
std::string name;
int score = 0;
public:
// Public methods to access or modify private data
void setName(std::string newName) {
name = newName;
}
void addScore(int points) {
score += points;
}
void display() {
std::cout << name << " has " << score << " points!" << std::endl;
}
};
int main() {
Player p; // Creating an object of type Player
p.setName("Marco");
p.addScore(15);
p.display();
return 0;
}Спецификаторы доступа: public и private.
Инкапсуляция заключается в сокрытии деталей внутренней реализации объекта и раскрытии только контролируемого интерфейса.
C++ управляет этим элементом управления с помощью спецификаторов доступа:
private: члены доступны только внутри функций-членов самого класса.private— уровень доступа по умолчанию для классов.public: члены доступны из любого места за пределами класса.
Попробуйте сами
Определите класс с именем Rectangle с двумя частными целочисленными членами: шириной и высотой. Добавьте общедоступный метод void setDimensions(int w, int h) для их установки и метод int getArea(), который возвращает ширину * высоту. В основном создайте прямоугольник, установите его размеры 5 и 4 и распечатайте область.
Показать подсказку
Используйте спецификаторы доступа `private:` и`public:`. Не забудьте закрыть класс точкой с запятой `;` после фигурной скобки.
Решение доступно после 3 попыток
Определите класс с именем Counter, у которого счетчик частных членов будет инициализирован равным 0. Добавьте общедоступные методы void инкремент() и int getCount(). В main создайте объект Counter, дважды увеличьте его и распечатайте значение.
Показать подсказку
В современном C++ можно инициализировать данные непосредственно в классе: `int count = 0;`.
Решение доступно после 3 попыток