C++ 我有一个关于使用类和对象的家庭作业
我不知道如何为turn()编写代码,以便将方向从左向右或从左向右进行更改。请帮忙!我刚开始学习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
[![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}
但我更喜欢用数学。