ПОМОГИТЕ С ДЗ
Реализовать класс Car
Описание класса:
Создайте класс Car, который будет описывать автомобиль.
В классе должно быть три конструктора:
Конструктор по умолчанию: присваивает автомобилю стандартные значения (например, скорость = 0, модель = "Неизвестно").
Конструктор с параметрами: принимает и задает параметры автомобиля (например, скорость, модель).
Геттеры и сеттеры:
Реализуйте геттеры и сеттеры для следующих полей:
model (строка)
speed (целое число)
Методы:
Реализуйте два метода:
Увеличение скорости: метод accelerate(int value), который увеличивает текущую скорость автомобиля на значение value. Если после увеличения скорость превышает 200 км/ч, ограничить её до 200 км/ч.
Торможение: метод brake(int value), который уменьшает текущую скорость автомобиля на значение value. Скорость не может быть меньше 0.
Деструктор:
Реализуйте корректный деструктор, который выводит сообщение о том, что объект автомобиля был удален (например: "Автомобиль [модель] удален").
Пример использования:
Создайте несколько объектов класса Car:
Один с использованием конструктора по умолчанию.
Один с использованием конструктора с параметрами.
Увеличьте скорость одного из автомобилей с помощью метода accelerate().
Примените торможение с помощью метода brake() для другого автомобиля.
Выведите текущие значения скорости и модели через геттеры.
#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 на языке Python, который соответствует вашему описанию:
print(f"Автомобиль {self._model} удален")
# Пример использования
if __name__ == "__main__":
# Создаем автомобиль с использованием конструктора по умолчанию
car1 = Car()
print(f"Модель: {car1.model}, Скорость: {car1.speed} км/ч")
# Создаем автомобиль с использованием конструктора с параметрами
car2 = Car("Toyota", 50)
print(f"Модель: {car2.model}, Скорость: {car2.speed} км/ч")
# Увеличиваем скорость первого автомобиля
car1.accelerate(70)
print(f"После ускорения - Модель: {car1.model}, Скорость: {car1.speed} км/ч")
# Применяем торможение ко второму автомобилю
car2.brake(20)
print(f"После торможения - Модель: {car2.model}, Скорость: {car2.speed} км/ч")
# Применяем ускорение, превышающее лимит
car1.accelerate(150)
print(f"После ускорения - Модель: {car1.model}, Скорость: {car1.speed} км/ч")
Описание кода:
Конструктор: Класс Car имеет два конструктора: один по умолчанию и другой с параметрами для задания модели и скорости.
Геттеры и сеттеры: Для полей model и speed реализованы геттеры и сеттеры. Сеттер для speed ограничивает значение в пределах от 0 до 200.
Методы:
accelerate(int value): Увеличивает скорость на заданное значение, не превышая 200.
brake(int value): Уменьшает скорость на заданное значение, не опускаясь ниже 0.
Деструктор: При удалении объекта класса выводится сообщение о том, что автомобиль был удален.
Пример использования: Создаются два объекта Car, демонстрируются методы увеличения и уменьшения скорости, а также выводятся текущие значения скорости и модели.