Menu
CoddyTech

Введение в ООП на C++

Часть раздела Объектно-ориентированное программирование путешествия по C++ на Coddy. Урок 5 из 104.

Объектно-ориентированное программирование организует код в классы, объединяющие данные и поведение.

Простой класс с открытыми членами

class Dog {
public:
    std::string name;
    int age;
    
    std::string bark() {
        return name + " says Woof!";
    }
};

Создание и использование объекта

Dog dog;
dog.name = "Buddy";
dog.age = 3;

std::cout << dog.bark() << std::endl;

Вывод:

Buddy says Woof!

Класс определяет структуру: какие данные он содержит и какие действия может выполнять. Объект — это конкретный экземпляр, который вы создаёте и используете. К членам под public: можно обращаться откуда угодно.

В проекте класс обычно размещают в заголовочном файле (Dog.h), где только объявляют его методы, а их определения помещают в файл .cpp, где перед именем каждого метода указывают имя класса и :: (оператор разрешения области видимости):

// Dog.h
#include <string>

class Dog {
public:
    std::string name;
    std::string bark();   // только объявление
};

// Dog.cpp
#include "Dog.h"

std::string Dog::bark() {
    return name + " says Woof!";
}
challenge icon

Задание

Легко

Создай класс Dog с открытыми полями и методами:

  • Открытые поля: name (строка) и age (int)
  • bark(): возвращает "<name> says Woof!"
  • info(): возвращает "<name> is <age> years old"

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

#include <iostream>
#include "Dog.h"

int main() {
    std::string name;
    int age;
    std::getline(std::cin, name);
    std::cin >> age;
    
    Dog dog;
    dog.name = name;
    dog.age = age;
    
    std::cout << dog.bark() << std::endl;
    std::cout << dog.info() << std::endl;
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Онлайн-компилятор C++