【发布时间】:2011-12-16 21:10:31
【问题描述】:
我有一个简单的类,它使用枚举作为“状态”。当我使用getStatus 成员函数时,它确实返回“忙碌”,但是当我打印该值时,它显示一个“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,这根本不是重复的。这个问题的答案是调用枚举的
ToString方法,只有 .Net 枚举有,本机 C++ 枚举没有。 -
它不是重复的。 OP 并不要求任何枚举的“自动”方式。他想知道应该做什么才能让这个枚举按需要显示。