নিম্নলিখিত কোড স্নিপেটে Color
এনামের Car
পরিধি সীমাবদ্ধ করার জন্য এবং বিশ্বব্যাপী নেমস্পেসকে "দূষিত" না করার চেষ্টা করার জন্য এনামকে শ্রেণীর মধ্যে ঘোষণা করা হয়েছে ।
class Car
{
public:
enum Color
{
RED,
BLUE,
WHITE
};
void SetColor( Car::Color color )
{
_color = color;
}
Car::Color GetColor() const
{
return _color;
}
private:
Car::Color _color;
};
(1) Color
এনামের সুযোগ সীমাবদ্ধ করার এটি কি ভাল উপায় ? বা, আমি কি এটি Car
ক্লাসের বাইরে ঘোষণা করতে পারি , তবে সম্ভবত এটির নিজস্ব নামস্থান বা কাঠামোর মধ্যে থাকতে পারে? : আমি শুধুমাত্র এই নিবন্ধটি আজ, যা আধুনিক অত্যাবশ্যক এবং আলোচনা enums সম্পর্কে কিছু চমৎকার পয়েন্ট জুড়ে এসেছিল http://gamesfromwithin.com/stupid-c-tricks-2-better-enums ।
(২) এই উদাহরণে, ক্লাসের মধ্যে কাজ করার সময়, এনামকে কোড করা ভাল Car::Color
, বা কেবল Color
যথেষ্ট হবে? (আমি ধরে নিলাম যে Color
পূর্বেরটি আরও ভাল, কেবলমাত্র যদি বিশ্বব্যাপী নেমস্পেসে আরও একটি এনাম ঘোষণা করা হয় That সেইভাবে , কমপক্ষে, আমরা যে এনামটি উল্লেখ করছি সে সম্পর্কে আমরা স্পষ্ট are
Car::Color getColor()
তবেvoid Car::setColor(Color c)
কারণ আমাদের মধ্যেsetColor
ইতিমধ্যে নির্দিষ্টকরণকারক রয়েছে।