Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我有一个关于使用类和对象的家庭作业_C++_Class_Object_Constructor - Fatal编程技术网

C++ 我有一个关于使用类和对象的家庭作业

C++ 我有一个关于使用类和对象的家庭作业,c++,class,object,constructor,C++,Class,Object,Constructor,我不知道如何为turn()编写代码,以便将方向从左向右或从左向右进行更改。请帮忙!我刚开始学习C++。 [![my.h file][2][2]当前位置在move()中更改 它总是增加1,因此它总是朝一个方向移动 方向目前对位置没有影响 您应该更改move()以按方向增加位置。这看起来像position+=direction 现在位置随着方向的改变而改变,但目前方向根据位置而改变,情况不应如此 您应该更改turn()以反转方向,因此如果它是1则将其更改为-1,反之亦然。将当前定义替换为direc

我不知道如何为turn()编写代码,以便将方向从左向右或从左向右进行更改。请帮忙!我刚开始学习C++。


[![my.h file][2][2]

当前位置在
move()
中更改

它总是增加
1
,因此它总是朝一个方向移动

方向
目前对
位置
没有影响

您应该更改
move()
以按
方向增加
位置。这看起来像
position+=direction

现在
位置
随着
方向
的改变而改变,但目前
方向
根据
位置
而改变,情况不应如此

您应该更改
turn()
以反转方向,因此如果它是
1
则将其更改为
-1
,反之亦然。将当前定义替换为
direction=-direction
即可


更新 错误头文件:

\ifndef H27\u H_
#定义H27_H_
/**爬杆子的虫子*/
类错误
{
公众:
Bug(int startPos);//在起始位置构造Bug
void move();//将bug沿方向移动一个单位
void turn();//从左向右改变方向,反之亦然
int position()const;//返回位置
私人:
int位置u;
int方向;
};
#恩迪夫
错误源文件:

#包括“Bug.h”
Bug::Bug(intstartpos)
{
位置=起始位置;
方向=1;
}
void Bug::move()
{
位置\+=方向\;
}
void Bug::turn()
{
方向\=-方向\;
}
int Bug::position()常量
{
返回位置;
}
主测试文件:

#包括“Bug.h”
#包括
使用名称空间std;
int main(){

无法欢迎使用堆栈溢出!请以文本而不是图像的形式发布代码。对于由于某种原因无法看到图像的用户,您的问题无法回答。
翻转
不是唯一的问题。
移动
也被破坏。您需要仔细阅读需求,并仔细考虑它们。我遵循您的建议。我得到了正确的答案ult当错误向左移动时,结果是错误的。你得到的错误结果是什么?你期望的正确结果是什么?错误是否不再向右移动?检查功能:测试错误-----------------+在位置2构建sam->2+在位置p构建julie位置12->12+在位置-10->-10+移动sam一到右边。->3+移动sam一到右边。->4+移动fred一到左边。->-11+移动fred一到左边。->-12 X移动fred一到右边两个地方。:预期“-10”但发现“-14”非常感谢。我在轮到你的时候放了一个if().If(direction_==1)->direction_=-direction。没问题。所以你的代码所做的只是在方向朝右时反转方向,所以当方向朝左时,它不会再次反转方向。如果你想使用If语句,你可以执行
If(direction_==1){direction_=-1}else{direction\=1}
但我更喜欢用数学。