我正在使用具有多个枚举的类的库。这里有一个例子使用类的枚举(C++)
class TGNumberFormat
{
public:
// ...
enum EAttribute { kNEAAnyNumber
kNEANonNegative
kNEAPositive
};
enum ELimit { kNELNoLimits
kNELLimitMin
kNELLimitMax
kNELLimitMinMax
};
enum EStepSize { kNSSSmall
kNSSMedium
kNSSLarge
kNSSHuge
};
// etc...
};
在我得把它们看成TGNumberFormat::kNEAAnyNumber
例如代码。我正在编写一个经常使用这些值的GUI,并且代码越来越难看。有什么方法可以导入这些枚举,只需键入kNEAAnyNumber
?我真的不希望这些名称中的任何一个重叠。我试过使用using
关键字的各种方法,而且没有一个会编译。
我会用一个typedef本地的功能(如:'的typedef TGNumberFormat NF;',允许,比如:'NF :: kNELLimitMin') 。尽管如此,我认为最好输出名称。 –
'struct X:TGNumberFormat {};'。然后你可以使用它们作为'X :: kNEAAnyNumber'。我不建议你这么做,因为'TGNumberFormat'(表面上)比''''提出的更短的名称具有更多的意义。 – Praetorian