OOP-这是重写类成员变量类型的好方法吗

OOP - Is it a good way to override class member variable type

本文关键字:类型 方法 变量 成员 重写 OOP-      更新时间:2023-10-16

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

这样做对吗?

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

如果要将int强制转换为enum,请参阅此问题。

相关文章: