Перейти к основному содержимому
Модуль 4 · Урок 1 из 29/18 в курсе~12 min
Уроки модуля (1/2)

Классы и объекты

Объектно-ориентированное программирование (ООП) — это основная парадигма C++. Он позволяет группировать данные и функции в отдельные объекты, называемые классами.

Класс действует как образец, а объект — это конкретный экземпляр этого класса.

Базовый синтаксис class

В C++ вы используете ключевое слово class. В отличие от некоторых других языков, в C++ определения классов должны заканчиваться точкой с запятой ;:

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: члены доступны из любого места за пределами класса.

Попробуйте сами

Упражнение#cpp.m4.l1.e1
Попыток: 0Загрузка…

Определите класс с именем Rectangle с двумя частными целочисленными членами: шириной и высотой. Добавьте общедоступный метод void setDimensions(int w, int h) для их установки и метод int getArea(), который возвращает ширину * высоту. В основном создайте прямоугольник, установите его размеры 5 и 4 и распечатайте область.

Загрузка редактора…
Показать подсказку

Используйте спецификаторы доступа `private:` и`public:`. Не забудьте закрыть класс точкой с запятой `;` после фигурной скобки.

Решение доступно после 3 попыток

Упражнение#cpp.m4.l1.e2
Попыток: 0Загрузка…

Определите класс с именем Counter, у которого счетчик частных членов будет инициализирован равным 0. Добавьте общедоступные методы void инкремент() и int getCount(). В main создайте объект Counter, дважды увеличьте его и распечатайте значение.

Загрузка редактора…
Показать подсказку

В современном C++ можно инициализировать данные непосредственно в классе: `int count = 0;`.

Решение доступно после 3 попыток