C++を完全に新しくしました。クラスやオブジェクトを理解しようとすると、これまでのところ、基本についてはそれほど複雑ではないので、私はその要点を理解しています。しかし、私が書いたこのコードは意図したとおりに動作していません。多少は機能しますが、ユーザーの入力を2回尋ねます。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」と入力するとすぐに「はい」が返されます。しかし、何かを入力すると、もう一度何かを入力するように促し、if/elseは入力したものに応じて動作します。
をし、他のあなたの入力どちらかといえば、あなたのコードは 'object.getName()'を呼び出します:
ただ、ローカル変数に値を格納し、if文の前に
getName()
を呼び出し、その後、代わりにそのテスト2回目。あなたのためのポップクイズ: 'object.getName()'は何をしますか? –「John」と入力すれば、それは一度しか印刷されません...考えられる食べ物 – qxz
[純粋な](https://en.wikipedia.org/wiki/Pure_function)と不純な機能についての記事面白いと思う。 – Sergey