完全是C++的新手。试图理解类和对象,到目前为止我已经掌握了它的要点,因为对于非常基础的东西来说它没有太复杂。但是,我写的这段代码并没有按照预期工作。它有点工作,但它要求用户输入两次。C++中的类/对象的逻辑运算符
#include <iostream>
#include <string>
using namespace std;
class FooFoo {
public :
string GetName() {
cin >> name;
return name;
}
private:
string name;
};
int main()
{
FooFoo object;
if (object.GetName() == "John" || object.GetName() == "Chris")
{
cout << "Yes";
}
else {
cout << "No";
}
}
如果我输入“John”,它会立刻返回yes。但是,当我输入其他内容时,它会提示我再次输入内容,然后if/else根据我输入的内容执行相应操作。
如果你输入任何东西,你的代码将调用'object.getName()'一第二次。为你弹出测验:'object.getName()'做了什么? –
我敢打赌,如果你输入'John',它只会打印一次......思考的食物 – qxz
也许关于[纯](https://en.wikipedia.org/wiki/Pure_function)和不纯功能的文章会对你有意思。 – Sergey