繁体   English   中英

如何使用字符串和整数获取Car Class的整数结果

[英]How to get an integer result for Car Class with strings and integers

我正在编写一个程序来执行以下操作:

  • 构造函数接受汽车的年份并将其作为参数,并将这些值分配给对象的年份并使其成员变量。 构造函数还将speed成员变量初始化为0。

  • 还创建了适当的访问器函数,以允许从对象的年份,组成和速度成员变量中检索值。

  • 每次调用加速功能时,都会将5加到速度成员变量上。

  • 每次调用制动功能时,都会从速度成员变量中减去5。

到目前为止,这就是我所拥有的,但是我无法返回正确的速度。 有什么解决办法吗?

#include <iostream>
#include <string>

using namespace std;
class Car
{
    private:

    int yearModel;
    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 yearModel, string make, int speed = 0)

{

}

void Car::accelerate()
{
    speed += 5;
}

void Car::brake()
{
    if (speed > 5)
        speed -= 5;
    else speed = 0;
}


int main()
{
    int yearModel;
    string make;
    cout << "Enter year and make ";

    cin >> yearModel >> make;

    Car myCar(yearModel, make);
    for (int i = 0; i < 5; i++)
    {
        myCar.accelerate();
        cout << "The speed of the car is: " << myCar.getSpeed() << endl;

        for (int j = 0; j < 5; j++)
        {

            myCar.brake();
            cout << "The speed of the car is " << myCar.getSpeed() << endl;

            system("PAUSE");
            return (0);
        }
    }
}
Car::Car(int yearModel, string make, int speed = 0)
{

}

您有一个空的构造函数主体,什么也不做。 因此,在构造对象之后,其数据成员将:

int yearModel;     // Have Undefined value
string make;       // Have Default initialized value
int speed;         // Have Undefined value

您应该在构造函数的初始值设定项列表中对其进行初始化:

Car::Car(int YearModel, string Make, int Speed = 0)
   : yearModel(YearModel), make(Make), speed(Speed)
{

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM