#include<iostream>
#include <string>
using namespace std;
class Car{
private:
public: Car(int, string, int);
Car(){} //default constructor
void setbrake();
void setacc();
int year,speed;
string make;
};
Car::Car(int year, string make, int speed = 0) //constructor with parameters
{
cout << "Enter your car's year." << endl;
cin >> year;
cout << "Enter your car's make. " << endl;
cin >> make;
cin.ignore();
speed = 0; }
void Car::setbrake(){ //first function
speed = speed - 5;
cout << "Your " << make << " is traveling at " << speed;
cout << " MPH.";}
void Car::setacc(){ //second function
speed = speed + 5;
cout << "Your " << make << " is traveling at " << speed;
cout << " MPH.";}
int main()
{
Car car1(0,"s");
cout << car1.make;
cout << car1.speed;
cout << car1.year;
car1.setacc();
system("pause");
return 0;
}
我在让我的变量显示在我的两个成员函数中时遇到问题,并且它在 main.js 中不显示任何内容。速度变量总是出现 49898575 <-- 一些像这样的随机高数字,我假设我将它初始化为 0。我整个星期都被困在这个问题上。如何连接我的类私有变量和我的成员函数。我认为我的带参数的构造函数会解决这个问题,但显然不是。有人可以花时间为我批评这段代码。我要把头发拔出来。
这是分配给类的问题,这就是我的目标,但我没有关注类和成员函数,以及它们如何协同工作。
编写一个名为 Car 的类,该类具有以下成员变量: • year。保存汽车型号年份的 int。
• 制作。一根绳子,上面印着汽车的品牌。
• 速度。保存汽车当前速度的 int。
此外,该类应具有以下成员函数。
• 构造函数。构造函数应该接受汽车的年份和 make 作为参数,并将这些值分配给对象的年份和成员变量。构造函数应该将 speed 成员变量初始化为 0。
• 访问器。应创建适当的访问器函数以允许从对象的年份、品牌和速度成员变量中检索值。
• 加速。每次调用时,加速函数都应将 speed 成员变量加 5。
• 刹车。每次调用刹车函数时,它都应该从速度成员变量中减去 5。
在创建 Car 对象的程序中演示该类,然后调用加速函数五次。每次调用加速函数后,获取汽车的当前速度并显示出来。
然后,调用五次刹车功能。
每次调用刹车函数后,获取汽车的当前速度并显示出来。