met*_*dos 6 c++ polymorphism enums
我有这些枚举声明:
enum MessageType{
REQ_LOGIN,
REQ_GET_FIELD,
RES_LOGIN,
RES_GET_FIELD
}
enum Request{
REQ_LOGIN,
REQ_GET_FIELD
};
enum Respond{
RES_LOGIN,
RES_GET_FIELD
};
Run Code Online (Sandbox Code Playgroud)
显然我在Enum的重复元素.有什么方法可以防止这种情况吗?
编辑:我在通用类上使用"MessageType"通过网络发送它,另一方面我解析此类的对象并发送消息.但我有不同的客户; 有些人只期望具有"Request"类型成员的对象,而有些人只期望具有"Response"类型成员的对象.
使用"Message"类,我正在创建"DispatcherRequest".
class Message
{
public:
……….
MessageType messageType;
}
struct DispatcherRequest
{
..........
Request type;
};
Run Code Online (Sandbox Code Playgroud)
为什么不尝试这样的事情呢?
enum MainType{
REQUEST,
RESPONSE
};
enum SubType{
LOGIN,
GET_FIELD
};
class Message {
MainType type;
SubType sub_type;
...
};
Run Code Online (Sandbox Code Playgroud)