"ステータス"の列挙型を使用する単純なクラスがあります。 getStatus
メンバ関数を使用すると、実際には "Busy"が返されますが、値を印刷すると "1"が表示されます。 1ではなく「ビジー」をどのように印刷できますか?インデックスの代わりに列挙を返します
#include <iostream>
using namespace std;
enum Status{Idle, Busy};
class text
{
public:
void SetStatus(Status s);
Status getStatus();
private:
Status s;
};
void text::SetStatus(Status s)
{
this->s = s;
}
Status text::getStatus()
{
return this->s;
}
int main()
{
text myText;
myText.SetStatus(Busy);
cout << myText.getStatus() << endl; //outputs 1, should output "Busy"
}
いいえ、@Nicolは、それがすべてで重複していないのです。その質問に対する答えは、enumの 'ToString'メソッドを呼び出すことです。このメソッドは、.NETの列挙型だけで、ネイティブのC++列挙型ではありません。 –
重複していません。 OPは、どの列挙型に対しても「自動」な方法を求めていません。彼は、_this_ enumを必要に応じて表示させるために何をすべきかを知りたがっています。 – sehe