
[英]How can a vector of integers hold objects if an integer is not a 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.