完全不熟悉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”,它将立即返回"is"。但是,当我输入其他任何内容时,它将提示我再次输入内容,然后if / else会根据我输入的内容进行相应的操作。

最佳答案

您调用object.GetName()两次,这将导致要求输入两次。将此函数的结果存储到变量中,并在if语句中使用它。 ||如果第一个表达式为真,则该语句会短路。如果第一个为true,则会导致第二个调用无法执行。

关于c++ - C++中具有类/对象的逻辑运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39629388/

10-13 05:37