Tôi đang sử dụng thư viện có các lớp học với một số enums. Dưới đây là ví dụSử dụng enums từ một lớp học (C++)
class TGNumberFormat
{
public:
// ...
enum EAttribute { kNEAAnyNumber
kNEANonNegative
kNEAPositive
};
enum ELimit { kNELNoLimits
kNELLimitMin
kNELLimitMax
kNELLimitMinMax
};
enum EStepSize { kNSSSmall
kNSSMedium
kNSSLarge
kNSSHuge
};
// etc...
};
Trong mã, tôi phải tham khảo các ví dụ này là TGNumberFormat::kNEAAnyNumber
. Tôi đang viết một GUI sử dụng các giá trị này rất thường xuyên và mã đang xấu đi. Có cách nào tôi có thể nhập các enums và chỉ cần gõ kNEAAnyNumber
? Tôi không thực sự mong đợi bất kỳ cái tên nào trùng lặp. Tôi đã thử nhiều cách sử dụng từ khóa using
và không có cách nào sẽ biên dịch.
Tôi sẽ sử dụng một địa phương typedef để chức năng (ví dụ 'typedef TGNumberFormat NF; ', cho phép, ví dụ,' NF :: kNELLimitMin') . Mặc dù, tôi cho rằng tốt hơn là nên gõ tên. –
'struct X: TGNumberFormat {};'. Sau đó, bạn có thể sử dụng chúng như 'X :: kNEAAnyNumber'. Tôi không khuyên bạn nên làm điều này, vì 'TGNumberFormat' (có vẻ bề ngoài) có ý nghĩa hơn bất kỳ tên ngắn nào bạn đưa ra cho' X'. – Praetorian