【问题标题】:how to define methods for change in position of car in a car class如何在汽车类中定义改变汽车位置的方法
【发布时间】:2018-10-30 10:05:00
【问题描述】:

创建一个名为“Car”的类,其属性为 xPosition、yPosition、speed。该类应该有“加速”、“减速”等方法来增加和减少汽车的速度,而对于xPosition和yPosition的变化,应该有左转、右转等方法。一个额外的方法“currState”应该显示对象的所有数据成员

#include<iostream>
using namespace::std;
class Car {
private:
    float xPosition, yPosition, speed;
public:
    Car(float ,float ,float);
    float accelarate();
    float deaccelarate();
    void turnLeft();
    void turnRight();
    void currState();
}
Car::Car(float x,float y,float sp) {
    xPosition=x;
    yPosition=y;
    speed=sp;
}

float Car::accelarate() { 
    ++speed;
    return speed;
}

float Car::deaccelarate() {
    --speed;
    return speed;
} 

【问题讨论】:

  • 到目前为止您尝试过什么?您可以编辑您的问题并插入您的代码,以便我们查看并找出问题所在。
  • 我不知道如何定义 turnLeft 和 turnRight 函数 #include using namespace::std;类车{私人:浮动xPosition,yPosition,速度;公共:汽车(浮动,浮动,浮动);浮动加速();浮动减速();无效转左();无效的右转();无效的当前状态(); } Car::Car(float x,float y,float sp) { xPosition=x; y位置=y;速度=sp; } 浮动车::加速(){ ++速度;返回速度; } 浮动车::deaccelerate() { --speed;返回速度; }
  • 在实现turnLeftturnRight 之前,您必须确定它们应该做什么。它们如何影响汽车的位置和速度?也许向左或向右转动汽车会改变汽车的行驶方向,所以也许您需要以某种方式对其进行建模。你有xPositionyPosition,所以也许你还需要xSpeedySpeed
  • 但是你没有任何方向,你只有xPositionyPositionspeed。你怎么知道汽车朝哪个方向行驶?
  • 你的作业任务是改变一个不存在的方向?

标签: c++ class


【解决方案1】:

也许这样的事情可能会有所帮助:

#include<iostream>
using namespace::std;
class Car {
private:
    float xPosition, yPosition, speed;
public:
    Car(float ,float ,float);
    float accelarate();
    float deaccelarate();
    void turnLeft();
    void turnRight();
    void currState();
}
Car::Car(float x,float y,float sp) {
    xPosition=x;
    yPosition=y;
    speed=sp;
}

void Car::accelarate() { 
    ++speed;
}

void Car::deaccelarate() {
    --speed;

} 
void Car::moveX(int a)
{
    xPosition=xPosition+a
}
void Car::turnLeft(){
  moveX(-1)
}
void Car::turnRight(){
  moveX(1)
}

对于 currState 我猜是

void Car::currState(){
std::cout << "I am in " << xPosition << " and " << yPosition << " with velocity " << speed << std::endl;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多