如何使用enum state_t
方法中的成员bar::install
而不在 的公共类部分重新定义它foo
?班员_state
必须留下protected
。
为成员使用另一个具有相似名称的枚举是个好主意吗?
class foo
{
protected:
int _bla
volatile enum state_t { _REC, _LIN, _OFF } _state;
public
volatile enum { REC, LIN, OFF };
state_t get_state(void) { return _state };
};
在另一个类的方法中:
void bar::install(foo *ptr)
{
switch(ptr->get_state()) {
case foo::REC: break;
case foo::LIN: break;
case foo::OFF: break;
}
}