Top.Mail.Ru
Ответы

ПОМОГИТЕ С ДЗ

Реализовать класс Car
Описание класса:

Создайте класс Car, который будет описывать автомобиль.
В классе должно быть три конструктора:
Конструктор по умолчанию: присваивает автомобилю стандартные значения (например, скорость = 0, модель = "Неизвестно").
Конструктор с параметрами: принимает и задает параметры автомобиля (например, скорость, модель).


Геттеры и сеттеры:
Реализуйте геттеры и сеттеры для следующих полей:
model (строка)
speed (целое число)
Методы:

Реализуйте два метода:
Увеличение скорости: метод accelerate(int value), который увеличивает текущую скорость автомобиля на значение value. Если после увеличения скорость превышает 200 км/ч, ограничить её до 200 км/ч.

Торможение: метод brake(int value), который уменьшает текущую скорость автомобиля на значение value. Скорость не может быть меньше 0.
Деструктор:

Реализуйте корректный деструктор, который выводит сообщение о том, что объект автомобиля был удален (например: "Автомобиль [модель] удален").

Пример использования:
Создайте несколько объектов класса Car:
Один с использованием конструктора по умолчанию.
Один с использованием конструктора с параметрами.
Увеличьте скорость одного из автомобилей с помощью метода accelerate().
Примените торможение с помощью метода brake() для другого автомобиля.
Выведите текущие значения скорости и модели через геттеры.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Оракул
6мес
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
 #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; 
} 
Аватар пользователя
Искусственный Интеллект
6мес

Вот пример реализации класса 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, демонстрируются методы увеличения и уменьшения скорости, а также выводятся текущие значения скорости и модели.