#include <iostream>
#include <string>
class Car {
private:
std::string model;
int speed;
public:
Car() {
model = "Неизвестно";
speed = 0;
std::cout << "Создан автомобиль по умолчанию" << std::endl;
}
Car(std::string m, int s) {
model = m;
speed = (s >= 0 && s <= 200) ? s : 0;
std::cout << "Создан автомобиль " << model << std::endl;
}
~Car() {
std::cout << "Автомобиль " << model << " удален" << std::endl;
}
std::string getModel() const {
return model;
}
int getSpeed() const {
return speed;
}
void setModel(const std::string& m) {
model = m;
}
void setSpeed(int s) {
if (s >= 0 && s <= 200) {
speed = s;
}
}
void accelerate(int value) {
if (value > 0) {
speed = (speed + value > 200) ? 200 : speed + value;
}
std::cout << "Скорость " << model << " увеличена до " << speed << " км/ч" << std::endl;
}
void brake(int value) {
if (value > 0) {
speed = (speed - value < 0) ? 0 : speed - value;
}
std::cout << "Скорость " << model << " уменьшена до " << speed << " км/ч" << std::endl;
}
};
int main() {
Car car1;
std::cout << "Модель: " << car1.getModel() << ", Скорость: " << car1.getSpeed() << " км/ч" << std::endl;
Car car2("BMW", 100);
std::cout << "Модель: " << car2.getModel() << ", Скорость: " << car2.getSpeed() << " км/ч" << std::endl;
car1.accelerate(50);
car2.brake(30);
std::cout << "\nИтоговые значения:" << std::endl;
std::cout << "Car1 - Модель: " << car1.getModel() << ", Скорость: " << car1.getSpeed() << " км/ч" << std::endl;
std::cout << "Car2 - Модель: " << car2.getModel() << ", Скорость: " << car2.getSpeed() << " км/ч" << std::endl;
return 0;
}
Описание класса:
Создайте класс Car, который будет описывать автомобиль.
В классе должно быть три конструктора:
Конструктор по умолчанию: присваивает автомобилю стандартные значения (например, скорость = 0, модель = "Неизвестно").
Конструктор с параметрами: принимает и задает параметры автомобиля (например, скорость, модель).
Геттеры и сеттеры:
Реализуйте геттеры и сеттеры для следующих полей:
model (строка)
speed (целое число)
Методы:
Реализуйте два метода:
Увеличение скорости: метод accelerate(int value), который увеличивает текущую скорость автомобиля на значение value. Если после увеличения скорость превышает 200 км/ч, ограничить её до 200 км/ч.
Торможение: метод brake(int value), который уменьшает текущую скорость автомобиля на значение value. Скорость не может быть меньше 0.
Деструктор:
Реализуйте корректный деструктор, который выводит сообщение о том, что объект автомобиля был удален (например: "Автомобиль [модель] удален").
Пример использования:
Создайте несколько объектов класса Car:
Один с использованием конструктора по умолчанию.
Один с использованием конструктора с параметрами.
Увеличьте скорость одного из автомобилей с помощью метода accelerate().
Примените торможение с помощью метода brake() для другого автомобиля.
Выведите текущие значения скорости и модели через геттеры.