Static keyword : Static এমন একটি এই keyword যেটাকে একবার প্রোগ্রাম একবার ডিক্লিয়ার করলে তার প্রোগ্রাম শেষ না হওয়া পর্যন্ত Distroy হবে না । Static keyword বিভিন্ন ক্ষেত্তে ব্যবহার করতে পারি । যেমন ,
Static variable হিসেবে ,Class এর Member Variable হিসেবে , Class এর Member Function হিসেবে।
Static variable এর ক্ষেত্রে : Static keyword টাকে কোন একটা variable এর সামনে ডিক্লিয়ার করতে পারি । একটাবার ডিক্লিয়ার করলে প্রোগ্রাম শেষ না হওয়া তার Address টা Distroy হয় না অর্থাৎ সেই ভ্যরিয়েবল এর মান স্থায়ী ভাবে সংরক্ষণ করা থাবে যতক্ষণ না পর্যন্ত প্রোগ্রামটা শেষ হয় । মানে কোন Static variable এর মান যদি ০ থেকে ১ বাড়ানো হয় এবং কোনো কারণে যদি আবার সেই ফাংশন কে কল করা হয় সেক্ষেত্তে সেই ভ্যারিয়েবল এর মান ১ থেকেই শুরু হবে।
Static member funtion ও আমরা ডিক্লিয়ার করতে পারি সেক্ষেত্তে আমাদের ফাংশনের ভিতরে যেগুলা variable দিব সেগুলা অব্যশই Static variable এর হতে হবে।
Static variable হিসেবে ,Class এর Member Variable হিসেবে , Class এর Member Function হিসেবে।
Static variable এর ক্ষেত্রে : Static keyword টাকে কোন একটা variable এর সামনে ডিক্লিয়ার করতে পারি । একটাবার ডিক্লিয়ার করলে প্রোগ্রাম শেষ না হওয়া তার Address টা Distroy হয় না অর্থাৎ সেই ভ্যরিয়েবল এর মান স্থায়ী ভাবে সংরক্ষণ করা থাবে যতক্ষণ না পর্যন্ত প্রোগ্রামটা শেষ হয় । মানে কোন Static variable এর মান যদি ০ থেকে ১ বাড়ানো হয় এবং কোনো কারণে যদি আবার সেই ফাংশন কে কল করা হয় সেক্ষেত্তে সেই ভ্যারিয়েবল এর মান ১ থেকেই শুরু হবে।
#includeClass এর Member Variable হিসেবে : আমরা যদি কোনও ক্লাস এর ভিতর Static member variable বানাই সেটার ডাটা টাইপ টা আমাদের ক্লাস এর বাহিরে ডিক্লিয়ার করতে হবে , যেভাবে কোনো ফাংশন বাহিরে ডিক্লিয়ার করি , তা না হলে কাজ করবে না।using namespace std; void fun(){ static int a; int b=0; cout<<++a<<" "<<++b<endl; } int main() { fun();//1 1 fun();//2 1 return 0; }
class abc{ public: static int n;///Member variable static int s; }; int abc::n;///Static variable n is Declear outside of class int abc::s;///Static variable s is Declear outside of classকোনও ক্লাস Class এর Member Function হিসেবেঃ
class abc{ public: static int t;///Member variable static int k; static void fun(int s){///Member function t=s; } }; int abc::t; int abc::k;
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন