Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpBsInr 1 of 150 menu
▶

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

Сейчас мы займемся изучением ООП в C++. Давайте рассмотрим пример из жизни, а потом перенесем его в C++.

В качестве примера возьмем автомобиль. У него есть колеса, цвет, вид кузова, объем двигателя и так далее. Кроме того, водитель может отдавать ему команды: ехать, остановиться, повернуть направо, налево и т.п.

Можно говорить о том, что существует некоторый класс автомобилей, обладающий общими свойствами (у всех есть колеса и всем им можно отдавать команды).

Конкретный автомобиль, стоящий на улице - это представитель этого класса, или, другими словами, объект этого класса. У всех объектов этого класса есть свойства: количество колес, цвет, вид кузова и методы: ехать, остановиться, повернуть направо, налево.

Другими словами сам класс - это чертеж, по которому на заводе делаются автомобили. Объект же - это сама машина, сделанная по этим чертежам.

В C++ класс создается с помощью ключевого слова class, за которым следует название этого класса. Давайте сделаем класс Car:

class Car { // тут код, то есть чертеж автомобиля };

Укажем теперь в нашем чертеже, что любой автомобиль, созданный по этому чертежу, будет иметь свойство для цвета и свойство для количества топлива.

Для этого внутри класса напишем свойство color и свойство fuel:

#include <string> class Car { public: // Зададим свойства (по сути переменные класса): std::string color; // цвет автомобиля int fuel; // количество топлива };

Давайте теперь сделаем методы нашего класса. В C++ методы, подобно обычным функциям, объявляются внутри класса. Перед ними пишется ключевое слово public.

Как уже упоминалось выше, наш автомобиль может ехать, может поворачивать, может останавливаться. Сделаем соответствующие методы в нашем классе:

#include <string> class Car { public: std::string color; // цвет автомобиля int fuel; // количество топлива // Команда ехать: void go() { // какой-то код } // Команда поворачивать: void turn() { // какой-то код } // Команда остановиться: void stop() { // какой-то код } };

Мы с вами сделали чертеж нашего автомобиля. Теперь нужно отправиться на завод и сделать объект этого класса (то есть конкретный автомобиль).

В C++ это делается объявлением переменной, тип которой - имя класса. Если просто написать имя класса - это ни к чему не приведет (это все равно, что, к примеру, объявить массив и никуда его не записать). Нам нужна переменная для хранения этого объекта.

Пусть эта переменная будет называться myCar - запишем в нее созданный нами объект:

Car myCar;

После создания автомобиля можно обращаться к его свойствам. Обращение к ним происходит через точку. Давайте установим свойства нашего объекта:

#include <string> Car myCar; // командуем заводу сделать автомобиль // Устанавливаем свойства объекта: myCar.color = "red"; // красим в красный цвет myCar.fuel = 50; // заливаем топливо

Все, наш автомобиль создан, покрашен и заправлен. Теперь мы можем отдавать ему команды через методы этого автомобиля.

Обращение к методам также происходит через точку, но, в отличие от свойства, после имени метода следует писать круглые скобки. Давайте покомандуем нашим объектом:

myCar.go(); myCar.turn(); myCar.stop();
→
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить