Привет всем, У меня возникли проблемы с нижеследующим назначением. Когда я запускаю код, все работает, но цифры, которые я получаю в распечатке, неточны. Не уверен, что это конструктор, который у меня установлен неправильно или что. Я просто ударился головой о стену, пытаясь понять это. Любая помощь/совет будут высоко оценены!C++ Конструктор Класс автомобиля
Вот текст Назначение:
Инструкции Класс автомобиля: Написать класс под названием 'Автомобиль', который имеет следующие переменные-члены:
год. Int, который удерживает модельный год автомобиля.
Марка. Строковый объект, который содержит марку автомобиля.
скорость. Объект int, который поддерживает текущую скорость автомобиля.
Кроме того, класс должен иметь следующие функции-члены:
Конструктора. Конструктор должен принять год автомобиля и внести переменные-члены. Конструктор должен инициализировать эти значения в год объекта и создавать переменные-члены. Конструктор должен инициализировать переменную переменной скорости до 0.
Аксессоры. Должны быть созданы соответствующие функции доступа, позволяющие извлекать значения из переменных года года, типа и скорости объекта.
Ускорение. Функция ускорения должна добавлять 5 к переменной члена скорости каждый раз, когда она вызывается.
Тормоз. Функция торможения должна вычитать 5 из переменной члена скорости каждый раз, когда она вызывается. Продемонстрируйте класс в программе, которая создает объект Car, а затем пять раз вызывает функцию ускорения. После каждого вызова функции ускорения получить текущую скорость автомобиля и отобразить его. Затем вызовите функцию торможения 5 раз. После каждого вызова функции торможения, получите текущую скорость автомобиля и отобразите его.
#include <iostream>
#include <string>
using namespace std;
class Car
{
private:
int year;
string make;
int speed;
public:
Car(int, string, int);
int getSpeed();
int getModel();
void accelerate();
void brake();
};
int Car::getSpeed()
{
return speed;
}
Car::Car(int year, string make, int speed = 0)
{
}
void Car::accelerate()
{
speed +=5;
}
void Car::brake()
{
if(speed > 5)
speed -=5;
else speed = 0 ;
}
int main()
{
int year;
string make;
cout << "Please enter the model year of the car.\n";
cin >> year ;
cout << "Please enter the make of the car.\n";
cin >> make ;
Car myCar(year,make);
int i = 0;
for (; i<5; ++i)
{
myCar.accelerate();
cout << "Accelerating.\n" << "The current speed of the car is: " << myCar.getSpeed()<<endl;
}
{
int j = 0;
for (; j<5; ++j)
{
myCar.brake();
cout << "Decelerating.\n" << "The current speed of the car is: " << myCar.getSpeed()<<endl;
}
return (0);
}
}
Каков результат использования * отладчика *? Какое утверждение является виновником? Это было бы хорошим проектом для изучения использования отладчика. –
Правильный инструмент для решения таких проблем - ваш отладчик. Перед тем, как просить о переполнении стека, вы должны пропустить свой код по очереди *. Для получения дополнительной информации, пожалуйста, прочтите [Как отлаживать небольшие программы (Эрик Липперт)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Как минимум, вы должны \ [изменить] ваш вопрос, чтобы включить пример [Минимальный, полный и проверенный] (http://stackoverflow.com/help/mcve), который воспроизводит вашу проблему, а также замечания, сделанные вами в отладчик. –
Я использую X-Code, не видя способ использования отладчика в этом приложении. При запуске кода нет сообщений об ошибках. –