【发布时间】:2014-12-13 00:21:59
【问题描述】:
这是我想弄清楚的一个任务:
创建一个名为 Project3 的新项目并创建一个名为 Rover 的类
在 Rover 类中,指定以下成员实例变量:
- 名称(字符串)
- 网格上的 x 位置(整数)
- 网格上的 y 位置(整数)
- 指南针方向 - N、S、E 或 W(字符串)
- 速度(0 - 5 米每秒,整数)
在 Rover 类中,指定以下方法:
- 默认构造函数 - 将流动站的位置设置为 (0,0),速度设置为 0,方向设置为 北。
- 接收参数以初始化上述所有五个实例变量的构造函数
- 每个实例变量的设置方法
- 每个实例变量的 Getter 方法
getRoverData – 返回一个字符串,显示每个实例变量的值 当前流动站对象,将每个值放在单独的行上,如下所示:
Rover name: A X-position: 0 Y-position: 0 Direction: E Speed: 1创建一个类客户端(主),它创建一个最多包含五个流动站的数组并获取初始 来自用户的所有流动站的值。在用户为每个流动站指定值后,显示摘要 流动站的值如上所示。
我有大约十亿个错误,我不知道为什么。
using namespace std;
class Rover {
private:
string name;
int x;
int y;
string direction;
int speed;
int position[10][10];
public:
void Rover();
void constructor(string name, int x, int y, string direction, int speed);
void setName(string name);
void setX(int x);
void setY(int y);
void setDirection(string direction);
void setSpeed();
string getName();
int getX();
int getY();
string getDirection();
int getSpeed();
string getRoverData();
};
void Rover::Rover() {
r1.position[0][0];
r1.speed = 0;
r1.direction = "N";
}
string Rover::getRoverData() {
cout << "Rover name: " << r1.getName() << endl;
cout << "X-position: " << r1.getX() << endl;
cout << "Y-position: " << r1.getY() << endl;
cout << "Direction: " << r1.getDirection() << endl;
cout << "Speed: " << r1.getSpeed() << endl;
}
void Rover::constructor(string name1, int x1, int y1, string direction1, int speed1) {
r1.name = name1;
r1.x = x1;
r1.y = y1;
r1.direction = direction1;
r1.speed = speed1;
}
void Rover::setName(string name) {
r1.name = name;
}
void Rover::setX(int x) {
r1.x = x;
}
void Rover::setY(int y) {
r1.y = y;
}
void Rover::setDirection(string direction) {
r1.direction = direction;
}
void Rover::setSpeed(int speed) {
r1.speed = speed;
}
string Rover::getName() {
return name;
}
int Rover::getX() {
return x;
}
int Rover::getY() {
return y;
}
string Rover::getDirection() {
return direction;
}
int Rover::getSpeed() {
return speed;
}
int main(int argc, char** argv) {
string name;
int x;
int y;
string direction;
int speed;
Rover r1;
r1.constructor("Yoda", 3, 3, "N", 3);
cout << "Enter name for Rover: ";
cin >> name;
r1.setName(name);
cout << "Enter its x position: ";
cin >> x;
r1.setX(x);
cout << "Enter its y position: ";
cin >> y;
r1.setY(y);
cout << "Enter direction N,E,S,W: ";
cin >> direction;
r1.setDirection(direction);
cout << "Enter its speed: ";
cin >> speed;
r1.setSpeed(speed);
r1.getRoverData();
return 0;
}
【问题讨论】:
-
"我有大约 10 亿个错误" - 然而你连 一个 都懒得发帖。请在您的帖子中包含您收到的确切错误消息。
-
这是一个类还是一个头文件,看起来你已经将它们融合成一个了!
-
这段代码有很多基本错误。如果您不确定自己在做什么,则应在尝试编译之前编写更少的新代码行。这样,您将在更本地化的区域中出现更少的错误。
-
@FeatheredOrcian 它是一个文件中的完整程序,它恰好包含一个类。这是编写小型示例程序的一种完全合法的方式,有时大学评审程序要求将源代码放在一个文件中。
-
...虽然有很多缺失的包含以及可怕的
using namespace。