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

标签 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;
};

最佳答案

Is this a right way doing it?

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

参见 this question如果您想将 int 转换为 enum

关于c++ - OOP - 它是覆盖类成员变量类型的好方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22942022/

相关文章:

c# - 如何在调用自己的植入之前强制继承类的方法实现调用基方法?

c++ - 我可以使用模板函数作为另一个模板的参数吗?

c++ - 如何将标准生成器传递给 STL 函数?

c++ - 如何用 pthread 捕获堆栈溢出?

php - 自动加载和命名空间

JavaScript 库模板

c++ - enum 类型不能接受 cin 命令

C++ 在 std::vector 中搜索和计算特定元素的最快方法是什么?

c++ - 不同的对象作为同一个函数的参数

C++ 二维数组类函数调用帮助