设计一个汽车类,并实现它的基本功能。成员变量:车门,车灯,速度(类型以及变量名均自拟)。成员函数:打开车门、关闭车门、打开车灯、关闭车灯、加速、减速。(学员可以根据自己情况增加或者减少函数)。
其中打开车门、关闭车门、打开车灯、关闭车灯四个函数,用于改变对象内部对应的成员变量的值。加速,减速两个函数,每次调用就将内部的速度变量分别对应增加10或者减少10。车门,车灯两个函数的初始状态都为 OFF,速度的初始值为0。
根据输入的命令(命令由1-6表示,分别对应调用打开车门、关闭车门、打开车灯、关闭车灯、加速、减速函数)输出汽车的最终状态。
#include <iostream>
using namespace std;
class Car
{
public:
bool doorOpen = false;
bool lightOn = false;
int v = 0;
void openDoor(){this->doorOpen = true;}
void closeDoor(){this->doorOpen = false;}
void openLight(){this->lightOn = true;}
void closeLight(){this->lightOn = false;}
void speedUp(){this->v+=10;}
void speedDown(){this->v-=10;}
};
int main()
{
char cmds[25];
cin>>cmds;
Car * car = new Car;
for(char * pch = cmds;*pch;pch++)
{
if(*pch=='1')car->openDoor();
if(*pch=='2')car->closeDoor();
if(*pch=='3')car->openLight();
if(*pch=='4')car->closeLight();
if(*pch=='5')car->speedUp();
if(*pch=='6')car->speedDown();
}
cout<<"车门 "<< (car->doorOpen?"ON":"OFF")<<endl;
cout<<"车灯 "<< (car->lightOn?"ON":"OFF")<<endl;
cout<<"速度 "<< (car->v)<<endl;
return 0;
}
这道题不需要考虑速度能否为负数。