C++ এ স্ট্যাটিক ক্লাস বলে কিছু নেই। নিকটতম আনুমানিক একটি শ্রেণী যা শুধুমাত্র স্ট্যাটিক ডেটা সদস্য এবং স্ট্যাটিক পদ্ধতি ধারণ করে।
একটি ক্লাসের স্ট্যাটিক ডেটা সদস্যরা সমস্ত ক্লাস অবজেক্ট দ্বারা ভাগ করা হয় কারণ মেমরিতে তাদের শুধুমাত্র একটি কপি থাকে, ক্লাসের অবজেক্টের সংখ্যা নির্বিশেষে। একটি ক্লাসে স্ট্যাটিক পদ্ধতি শুধুমাত্র স্ট্যাটিক ডেটা সদস্য, অন্যান্য স্ট্যাটিক পদ্ধতি বা ক্লাসের বাইরের যেকোনো পদ্ধতি অ্যাক্সেস করতে পারে।
C++ এ একটি ক্লাসে স্ট্যাটিক ডেটা সদস্য এবং স্ট্যাটিক পদ্ধতি প্রদর্শন করে এমন একটি প্রোগ্রাম নিম্নরূপ দেওয়া হয়েছে।
উদাহরণ
#include <iostream> using namespace std; class Example { public : static int a; static int func(int b) { cout << "Static member function called"; cout << "\nThe value of b is: " << b; } }; int Example::a=28; int main() { Example obj; Example::func(8); cout << "\nThe value of the static data member a is: " << obj.a; return 0; }
আউটপুট
উপরের প্রোগ্রামের আউটপুট নিম্নরূপ।
Static member function called The value of b is: 8 The value of the static data member a is: 28
এখন আসুন উপরের প্রোগ্রামটি বুঝতে পারি।
ক্লাসের উদাহরণে, একটি হল স্ট্যাটিক ডেটা মেম্বার ডেটা টাইপ int। পদ্ধতি func() হল একটি স্ট্যাটিক পদ্ধতি যা "স্ট্যাটিক মেম্বার ফাংশন কল" প্রিন্ট করে এবং b এর মান প্রদর্শন করে। কোড স্নিপেট যা এটি দেখায় তা নিম্নরূপ।
class Example { public : static int a; static int func(int b) { cout << "Static member function called"; cout << "\nThe value of b is: " << b; } }; int Example::a = 28;
ফাংশনে main(), ক্লাসের উদাহরণ দিয়ে একটি অবজেক্ট অবজে তৈরি করা হয়। ফাংশন func() ক্লাসের নাম এবং স্কোপ রেজোলিউশন অপারেটর ব্যবহার করে কল করা হয়। তারপর a এর মান প্রদর্শিত হবে। কোড স্নিপেট যা এটি দেখায় তা নিম্নরূপ।
int main() { Example obj; Example::func(8); cout << "\nThe value of the static data member a is: " << obj.a; return 0; }