我有预先定义的struct
(不可更改)
struct ACCOUNT
{
char IDAccount[MAX_IDACCOUNT_LENGTH];
char fullName[MAX_FULLNAME_LENGTH];
int type;
};
现在,我想覆盖type
成员变量的类型。这是正确的做法吗?
enum ACCOUNT_TYPE {ACCOUNT_TYPE_SV, ACCOUNT_TYPE_CB, ACCOUNT_TYPE_OT};
struct Account : virtual ACCOUNT {
ACCOUNT_TYPE type;
};
答案 0 :(得分:2)
这是正确的做法吗?
在您的第二个定义中,您只是 shadowing ACCOUNT::type
。您无法修改ACCOUNT::type
的类型(除非您修改ACCOUNT
的实际定义,您定义为"不可更改")。
如果您想将int
转换为enum
,请参阅this question。