কম্পিউটার

C++ Enum

কিভাবে C++ Enum ব্যবহার করবেন:একটি নির্দেশিকা

একটি গণনাকৃত প্রকার হল একটি ব্যবহারকারী-সংজ্ঞায়িত ডেটা টাইপ যা মানগুলির একটি পরিসর থেকে একটি মান বরাদ্দ করা যেতে পারে।

Enums প্রায়ই প্রোগ্রামিং ব্যবহার করা হয় যখন একটি ভেরিয়েবল শুধুমাত্র একটি নির্দিষ্ট মান সেটের মধ্যে একটি মান সংরক্ষণ করতে সক্ষম হওয়া উচিত। উদাহরণস্বরূপ, যদি আপনি একটি পরিবর্তনশীল চান যাতে শুধুমাত্র সপ্তাহের দিনগুলি সংরক্ষণ করা যায়, তাহলে আপনি একটি গণনা ব্যবহার করতে চাইতে পারেন৷

এই টিউটোরিয়ালটি উদাহরণের রেফারেন্স সহ, C++ এ গণনার মূল বিষয়গুলি, কীভাবে একটি গণনাকে সংজ্ঞায়িত করতে হয় এবং কীভাবে আপনার কোডে একটি গণনা ব্যবহার করতে হয় তা অন্বেষণ করবে। এই টিউটোরিয়ালটি পড়ার শেষে, আপনি C++ এ enums ব্যবহারে বিশেষজ্ঞ হয়ে উঠবেন।

C++ Enum

গণনাকৃত প্রকার, যা enum টাইপ নামেও পরিচিত, একটি কাস্টম ডেটা টাইপ তৈরি করতে ব্যবহৃত হয় যার সম্ভাব্য মানগুলির একটি নির্দিষ্ট পরিসর রয়েছে। গণনা একটি ব্যবহারকারী-সংজ্ঞায়িত ডেটা টাইপ।

C++ এ একটি enum সংজ্ঞায়িত করতে, enum কীওয়ার্ড ব্যবহার করা হয়। C++ এ একটি enum সংজ্ঞায়িত করার জন্য এখানে সিনট্যাক্স রয়েছে:

enum name {
	firstValue, secondValue, thirdValue, fourthValue
};

আসুন এই সিনট্যাক্সটিকে এর প্রধান উপাদানগুলিতে বিভক্ত করি:

  • enum একটি গণনা তৈরি করতে আমাদের কোড নির্দেশ করে৷
  • নাম আমাদের গণনার জন্য নির্ধারিত নাম।
  • প্রথম মান , দ্বিতীয় মান , তৃতীয় মান , এবং চতুর্থ মান আমাদের গণনার জন্য নির্ধারিত মানগুলি। এই মানগুলি কোঁকড়া বন্ধনীর ({}) সেটের মধ্যে আবদ্ধ।

উপরন্তু, আপনি একটি enum ক্লাসের ডিফল্ট মান পরিবর্তন করতে পারেন। সুতরাং, আপনি যদি একটি মানকে এর নিজস্ব নাম রাখতে চান, তাহলে আপনি গণনাতে একটি নতুন ডিফল্ট মান নির্ধারণ করে এটি করতে পারেন। এই কাজটি সম্পন্ন করতে আমরা যে কোডটি ব্যবহার করতে পারি তা এখানে:

enum name {
	firstValue = 0,
	secondValue = 1
}

এই সিনট্যাক্সে, আমাদের enum দুটি মান রয়েছে। প্রথম মান মানের মান 0 এবং দ্বিতীয় মান 1 মান আছে।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।

Enums দরকারী কারণ তারা আপনাকে একটি ভেরিয়েবল ধারণ করতে পারে এমন সম্ভাব্য মানগুলিকে আরও স্পষ্টভাবে সংজ্ঞায়িত করতে দেয়। উদাহরণস্বরূপ, আপনি যদি সপ্তাহের দিনগুলি সংরক্ষণ করতে শুধুমাত্র একটি ভেরিয়েবল চান তবে একটি enum ঘোষণা করা আপনার কোডে এটি স্পষ্ট করে দেয় যে পরিবর্তনশীলটি শুধুমাত্র সপ্তাহের দিনগুলি সংরক্ষণ করতে সক্ষম হবে৷

একটি Enum ঘোষণা করুন

ধরুন আমরা একটি অ্যাপ্লিকেশন তৈরি করছি যা একটি ডোনাটের দোকানের একজন ক্যাশিয়ারকে দেওয়া প্রতিটি অর্ডার রেকর্ড করতে এবং ডোনাটের খরচ গণনা করতে দেয়৷

আমাদের দোকান শুধুমাত্র সীমিত পরিসরে ডোনাট বিক্রি করে, এবং তাই আমরা চাই যে ক্যাশিয়ার আমাদের ইনভেন্টরিতে ডোনাটগুলির অর্ডার রেকর্ড করতে সক্ষম হন। আমরা আমাদের প্রোগ্রামে যে ডোনাটগুলি প্রক্রিয়া করতে চাই তা হল:রাস্পবেরি, স্ট্রবেরি, গুঁড়ো, চকোলেট এবং দারুচিনি৷

এটি একটি নিখুঁত উদাহরণ যেখানে একটি enum দরকারী হতে পারে। আমরা পূর্বোক্ত স্বাদে অর্ডার প্রক্রিয়া করতে সক্ষম হওয়ার জন্য আমাদের প্রোগ্রামকে সীমিত করতে চাই, এবং তাই একটি enum ব্যবহার করা একটি ভাল ধারণা। C++ enum ঘোষণা করতে আমরা যে কোডটি ব্যবহার করতে পারি তা এখানে:

enum flavors {
	Raspberry, Strawberry, Powdered, Chocolate, Cinnamon
}

আমাদের কোডে, আমরা স্বাদ নামক একটি enum ঘোষণা করি যার পাঁচটি সম্ভাব্য মান রয়েছে। সুতরাং, যখন আমরা এই এনাম থেকে একটি ভেরিয়েবলকে একটি মান নির্ধারণ করার চেষ্টা করি, তখন ভেরিয়েবলটি কেবলমাত্র সেই মানগুলি সংরক্ষণ করতে সক্ষম হবে যা আমাদের enum-এ ঘোষণা করা হয়েছে৷

যদি আমরা এমন একটি ভেরিয়েবল ঘোষণা করতে চাই যা শুধুমাত্র আমাদের ফ্লেভার এনাম থেকে মান ধরে রাখতে পারে, আমরা এই সিনট্যাক্সটি ব্যবহার করতে পারি:

enum flavors orderFlavor.

আমরা এইমাত্র যে পরিবর্তনশীল অর্ডার ফ্লেভার ঘোষণা করেছি তা শুধুমাত্র ফ্লেভার এনামে মান সংরক্ষণ করতে পারে।

একটি Enum ব্যবহার করা

এখন আমরা একটি enum ঘোষণা সম্পাদন করেছি, আমরা আমাদের কোডে এটি ব্যবহার করতে পারি। ডোনাট স্টোরের উদাহরণে ফিরে আসা যাক কিভাবে আমরা একটি C++ প্রোগ্রামে একটি enum ব্যবহার করতে পারি।

ধরুন আমরা একটি প্রোগ্রাম তৈরি করছি যা আমাদের ডোনাট স্টোরের ক্যাশিয়ারকে প্রতিটি অর্ডার রেকর্ড করতে দেয়। ক্যাশিয়ার এইমাত্র একটি রাস্পবেরি ডোনাটের জন্য একটি অর্ডার পেয়েছেন এবং আমরা আমাদের প্রোগ্রামে একটি রাস্পবেরি ডোনাটের জন্য একটি অর্ডার তৈরি করতে চাই৷ আমরা এই কোডটি ব্যবহার করে তা করতে পারি:

নেমস্পেস std;enum ফ্লেভার ব্যবহার করে
#include <iostream>

using namespace std;

enum flavors {
	Raspberry, Strawberry, Powdered, Chocolate, Cinnamon
}

int main() {
	enum flavors orderFlavor;
	orderFlavor = Raspberry;
	cout << "Donut ordered: 1x " << orderFlavor;
}

আমাদের কোড ফিরে আসে:

Donut ordered: 1x Raspberry

আসুন আমাদের কোড ভাঙ্গা যাক। প্রথমত, আমরা ফ্লেভার নামে একটি enum ঘোষণা করেছি যা ডোনাটের দোকানে বিক্রি হওয়া স্বাদগুলি সংরক্ষণ করে।

তারপর, আমরা অর্ডারফ্লেভার নামক একটি ভেরিয়েবল ঘোষণা করি যা একজন গ্রাহকের দ্বারা অর্ডার করা ডোনাটের প্রকারের ট্র্যাক রাখে। এই ভেরিয়েবলটি শুধুমাত্র ফ্লেভার enum-এ মান সঞ্চয় করতে পারে। কোডের পরবর্তী লাইনে, আমরা অর্ডারফ্লেভার এনাম ভেরিয়েবলটিকে রাস্পবেরি মান নির্ধারণ করি।

এরপর, আমরা Donut ordered: 1x প্রিন্ট আউট করি কনসোলে, অর্ডারফ্লেভার ভেরিয়েবলে সংরক্ষিত মান অনুসরণ করে।

এই উদাহরণে, আপনি দেখতে পারেন যে একটি enum ব্যবহার করে আমাদের কোড পড়া সহজ করে তোলে। একটি enum ব্যবহার করে, এটা স্পষ্ট যে অর্ডারফ্লেভার ভেরিয়েবল শুধুমাত্র ফ্লেভার enum-এ মান সঞ্চয় করতে পারে। যদি আমরা আরও জটিল প্রোগ্রামে কাজ করতাম, তাহলে enums ব্যবহার করার সুবিধাগুলি আরও স্পষ্ট হয়ে উঠবে, কারণ আরও ভেরিয়েবল থাকবে যার জন্য আমাদের অ্যাকাউন্ট করতে হবে৷

ডিফল্ট এনাম মান পরিবর্তন করা হচ্ছে

উপরন্তু, আমরা enums একটি নির্দিষ্ট ডিফল্ট মান নির্ধারণ করতে পারি। উদাহরণস্বরূপ, ধরুন আমরা একটি প্রোগ্রাম তৈরি করতে চেয়েছিলাম যা একটি নির্দিষ্ট ডোনাটের দাম ফেরত দেয়। যেহেতু একজন গ্রাহক অর্ডার করতে পারেন এমন সীমিত পরিসরের ডোনাট রয়েছে, আমরা একটি enum ব্যবহার করতে চাই।

আমরা একটি enum তৈরি করতে নিম্নলিখিত কোড ব্যবহার করতে পারি যা আমাদের ডোনাট স্বাদ এবং তাদের দাম উভয়ই সঞ্চয় করে:

#include <iostream>

using namespace std;

enum prices {
	Raspberry = 2.00,
Strawberry = 2.00,
Powdered = 1.75,
Chocolate = 1.90,
Cinnamon = 2.20
}

int main() {
	enum prices orderPrice;
	orderPrice = Raspberry;
	cout << "Donut price: $" << orderPrice;
}

আমাদের কোড রিটার্ন করে:

Donut price: $2.00

এই উদাহরণে, আমরা আমাদের enum-এ প্রতিটি মানকে একটি ডিফল্ট মান নির্ধারণ করেছি।

এর মানে হল, যখন আমরা আমাদের enum-এ একটি মান উল্লেখ করি, তখন মানের নামের পরিবর্তে এর ডিফল্ট মান প্রদর্শিত হবে। সুতরাং, যখন আমরা চকোলেট উল্লেখ করি, 1.90 ফেরত দেওয়া হবে; যখন আমরা দারুচিনি উল্লেখ করি, তখন 2.20 ফেরত দেওয়া হবে।

আমাদের প্রধান প্রোগ্রামে, আমরা প্রথমে অর্ডারপ্রাইস নামক একটি পরিবর্তনশীল ঘোষণা করি যা সম্ভাব্য মানগুলিকে সীমাবদ্ধ করতে প্রাইস enum ব্যবহার করে। তারপরে আমরা আমাদের মূল্যের enum-এ রাস্পবেরির সাথে সম্পর্কিত মানটি অর্ডারপ্রাইস পরিবর্তনশীলকে বরাদ্দ করি।

পরবর্তী লাইনে, আমরা Donut price: $ বিবৃতিটি প্রিন্ট করি কনসোলে, অর্ডারপ্রাইজ ভেরিয়েবলে সংরক্ষিত মূল্য অনুসরণ করে। এই ক্ষেত্রে, গ্রাহক একটি রাস্পবেরি ডোনাট অর্ডার করেছেন, যার দাম $2.00, তাই, আমাদের কোড ফিরে এসেছে Donut price: $2.00

উপসংহার

enum ডেটা টাইপটি এমন একটি ডেটা তৈরি করতে ব্যবহৃত হয় যা শুধুমাত্র একটি নির্দিষ্ট মান সংরক্ষণ করতে পারে। উদাহরণস্বরূপ, ঋতু সংরক্ষণ করে এমন একটি গণনা শুধুমাত্র বসন্ত, গ্রীষ্ম, শরৎ এবং শীতকে সঞ্চয় করবে। Enums দরকারী যখন একটি ভেরিয়েবল শুধুমাত্র একটি মান সংরক্ষণ করতে সক্ষম হওয়া উচিত যা একটি নির্দিষ্ট মানের সেটে বিদ্যমান।

এই টিউটোরিয়ালটি উদাহরণের সাথে আলোচনা করেছে, কিভাবে C++ এ একটি enum তৈরি করতে হয়, কিভাবে একটি enum ব্যবহার করতে হয় এবং কিভাবে একটি enum দ্বারা সংরক্ষিত ডিফল্ট মান পরিবর্তন করতে হয়। এখন আপনার জানা আছে কিভাবে C++ এ enums ব্যবহার শুরু করবেন!


  1. C++ এ এনক্যাপসুলেশন

  2. কিভাবে C++ এ একটি গণনাকৃত প্রকার (enum) সংজ্ঞায়িত করবেন?

  3. C++ এ শনাক্তকারী

  4. C# এ এনাম