OOP - 它是覆盖类成员变量类型的好方法

时间:2014-04-08 15:50:59

标签: c++ oop

我有预先定义的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;
};

1 个答案:

答案 0 :(得分:2)

  

这是正确的做法吗?

在您的第二个定义中,您只是 shadowing ACCOUNT::type。您无法修改ACCOUNT::type的类型(除非您修改ACCOUNT的实际定义,您定义为"不可更改")。

如果您想将int转换为enum,请参阅this question