Перейти до основного вмісту
Модуль 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 increment() і int getCount(). У головному створіть об’єкт Counter, збільште його двічі та надрукуйте значення.

Завантаження редактора…
Показати підказку

У сучасній мові C++ ініціалізація даних члена в класі: `int count = 0;`.

Рішення доступне після 3 спроб