से enums का उपयोग करके मैं एक पुस्तकालय का उपयोग कर रहा हूं जिसमें कई enums के साथ कक्षाएं हैं। यहाँ एक उदाहरणकक्षा (सी ++)
class TGNumberFormat
{
public:
// ...
enum EAttribute { kNEAAnyNumber
kNEANonNegative
kNEAPositive
};
enum ELimit { kNELNoLimits
kNELLimitMin
kNELLimitMax
kNELLimitMinMax
};
enum EStepSize { kNSSSmall
kNSSMedium
kNSSLarge
kNSSHuge
};
// etc...
};
कोड मैं उदाहरण के लिए TGNumberFormat::kNEAAnyNumber
के रूप में इन का उल्लेख करने के लिए है में है। मैं एक जीयूआई लिख रहा हूं जो इन मानों का अक्सर उपयोग करता है और कोड बदसूरत हो रहा है। क्या कोई तरीका है कि मैं इन enums आयात कर सकते हैं और बस kNEAAnyNumber
टाइप करें? मैं वास्तव में इनमें से किसी भी नाम को ओवरलैप करने की उम्मीद नहीं करता हूं। मैंने using
कीवर्ड का उपयोग करने के विभिन्न तरीकों का प्रयास किया है और कोई भी संकलित नहीं होगा।
मैं समारोह के लिए एक typedef स्थानीय का प्रयोग करेंगे (जैसे 'typedef TGNumberFormat एनएफ;', अनुमति देता है, जैसे, 'एनएफ :: kNELLimitMin') । हालांकि, मैं तर्क दूंगा कि नामों को टाइप करना बेहतर है। –
'संरचना एक्स: टीजीएनंबरफॉर्मैट {}; '। फिर आप उन्हें 'एक्स :: केएनईएएनएनंबर' के रूप में उपयोग कर सकते हैं। मैं आपको ऐसा करने की अनुशंसा नहीं करता, क्योंकि 'टीजीएनंबरफॉर्मैट' (स्पष्ट रूप से) 'एक्स' के लिए जो भी छोटा नाम आता है उससे अधिक अर्थ रखता है। – Praetorian