স্ট্যাটিক পদ্ধতি C++

Styatika Pad Dhati C



C++-এ একটি পদ্ধতি একটি ফাংশন হিসাবেও পরিচিত, এবং C++-এ পদ্ধতি ব্যবহার করে মডুলার প্রোগ্রামিং এবং কোড পুনঃব্যবহারযোগ্যতার ধারণাকে প্রচার করে। এর অর্থ হল যে পদ্ধতিগুলি একবার লেখা হয়েছে সেগুলি প্রতিবার লেখার প্রয়োজনীয়তা না রেখে যতবার প্রয়োজন ততবার পুনরাবৃত্তি করা যেতে পারে। এই পদ্ধতিগুলির নিম্নলিখিত তিনটি মৌলিক বৈশিষ্ট্য রয়েছে:
  • স্ট্যাটিক পদ্ধতিগুলি সরাসরি ক্লাসের নাম এবং স্কোপ রেজোলিউশন অপারেটর দিয়ে কোনও অবজেক্ট তৈরি না করেই পুনরুদ্ধার করা যেতে পারে।
  • একটি ক্লাসের স্ট্যাটিক পদ্ধতিগুলি শুধুমাত্র সেই শ্রেণীর স্ট্যাটিক সদস্যদের অ্যাক্সেস করতে পারে।
  • স্ট্যাটিক পদ্ধতিগুলি একটি ক্লাসের অ-স্থির সদস্যদের অ্যাক্সেস করতে পারে না।

আমরা এই নিবন্ধটি আপনাকে উবুন্টু 20.04-এ C++-এ স্ট্যাটিক পদ্ধতির ব্যবহার শেখানোর জন্য ডিজাইন করেছি।

উবুন্টু 20.04 এ C++ এ স্ট্যাটিক পদ্ধতি ব্যবহার করা

উবুন্টু 20.04-এ C++-এ স্ট্যাটিক পদ্ধতিগুলি ব্যবহার করার জন্য, এই ফাংশনগুলি C++-এ কীভাবে কাজ করে সে সম্পর্কে ভাল ধারণা পেতে আপনাকে প্রথমে নীচে দেওয়া সমস্ত উদাহরণের মধ্য দিয়ে যেতে হবে।







উদাহরণ # 1: C++-এ স্ট্যাটিক পদ্ধতির প্রথম সম্পত্তি অন্বেষণ করা

এই উদাহরণে, আমরা C++ এ স্থির পদ্ধতির প্রথম সম্পত্তি অন্বেষণ করতে চাই; স্কোপ রেজোলিউশন অপারেটর ব্যবহার করার সময় ক্লাসের স্ট্যাটিক পদ্ধতি সরাসরি ক্লাসের নাম দিয়ে অ্যাক্সেস করা যেতে পারে। এর জন্য, আমরা নিম্নলিখিত ছবিতে দেখানো একটি C++ স্ক্রিপ্ট লিখেছি:



  স্ট্যাটিক পদ্ধতি C++



এই C++ স্ক্রিপ্টে, আমরা 'সংখ্যা' নামে একটি ক্লাস সংজ্ঞায়িত করেছি। এই শ্রেণীর শরীরের ভিতরে, আমাদের শুধুমাত্র একটি পাবলিক ফাংশন আছে। আমরা এই ফাংশনটিকে 'স্ট্যাটিক' হিসাবে ঘোষণা করেছি। এই ফাংশনের নাম হল ' PrintNum ', এবং এটি 'n' সংখ্যাটিকে তার একমাত্র প্যারামিটার হিসাবে নেয়। এই ফাংশনের মধ্যে, আমরা কেবল টার্মিনালে এই পাস করা নম্বরটির মান মুদ্রণ করতে চাই। আপনি দেখতে পাচ্ছেন, আমরা এই শ্রেণীর জন্য কোন কনস্ট্রাক্টরকে সংজ্ঞায়িত করিনি। এর মানে আমরা এর বস্তু তৈরি করতে চাই না। পরিবর্তে, আমরা সরাসরি এই শ্রেণীর ফাংশন অ্যাক্সেস করতে যাচ্ছি।





এখন, আমাদের মধ্যে ' প্রধান() ' ফাংশন, আমরা ' PrintNum ক্লাসের নাম এবং স্কোপ রেজোলিউশন অপারেটরের সাহায্যে 'সংখ্যা' শ্রেণীর ফাংশন। এই ফাংশনটিকে কল করার সময়, আমরা এটিকে একটি এলোমেলো নম্বর দিয়েছি, অর্থাৎ, 25। আমাদের “ প্রধান() ' ফাংশনটি 'রিটার্ন 0' স্টেটমেন্টের সাথে মোড়ানো হয় যেহেতু আমরা এটিকে একটি পূর্ণসংখ্যা রিটার্ন টাইপ বলে ঘোষণা করেছি।

যখন আমরা এই C++ স্ক্রিপ্টটি কম্পাইল এবং এক্সিকিউট করি, তখন আমাদের নম্বর টার্মিনালে সঠিকভাবে প্রিন্ট করা হয়েছিল, যেমনটি নীচের ছবিতে দেখানো হয়েছে। এর মানে হল যে C++-এ স্থির পদ্ধতির প্রথম বৈশিষ্ট্যটি সন্তুষ্ট হয়েছে — স্ট্যাটিক পদ্ধতিগুলি কোনো বস্তু তৈরি না করে সরাসরি ক্লাসের নাম দিয়ে অ্যাক্সেস করা যেতে পারে এবং তারা ঠিক যেভাবে কাজ করে সেভাবে কাজ করে।



  c++ এ স্ট্যাটিক পদ্ধতি

উদাহরণ # 2: C++-এ স্ট্যাটিক পদ্ধতির দ্বিতীয় সম্পত্তি অন্বেষণ করা

এই উদাহরণে, আমরা C++-এ স্ট্যাটিক পদ্ধতির দ্বিতীয় বৈশিষ্ট্যটি অন্বেষণ করতে চাই; একটি ক্লাসের স্ট্যাটিক পদ্ধতি শুধুমাত্র সেই শ্রেণীর স্ট্যাটিক সদস্যদের অ্যাক্সেস করতে পারে। এর জন্য, আমরা নিম্নলিখিত ছবিতে দেখানো একটি C++ স্ক্রিপ্ট লিখেছি:

এই C++ স্ক্রিপ্টে, আমরা প্রথমে “Number” নামে একটি ক্লাস সংজ্ঞায়িত করেছি। এই শ্রেণীর মূল অংশের ভিতরে, আমাদের একটি ব্যক্তিগত সদস্য 'x' আছে যা পূর্ণসংখ্যা ডেটা টাইপের, এবং আমরা এটিকে স্ট্যাটিক করেছি। তারপর, আমরা শুধুমাত্র একটি পাবলিক ফাংশন আছে. আমরা এই ফাংশন হিসাবে ঘোষণা করেছি ' স্থির ” এই ফাংশনের নাম হল ' PrintNum ', এবং এটি 'n' সংখ্যাটিকে তার একমাত্র প্যারামিটার হিসাবে নেয়। এই ফাংশনের মধ্যে, আমরা টার্মিনালে এই পাস করা নম্বরের মান এবং স্ট্যাটিক সদস্য 'x' এর মান প্রিন্ট করতে চাই।

এর পরে, আমরা আবার 'static' কীওয়ার্ড ব্যবহার না করে আমাদের ক্লাসের বাইরে ক্লাসের নামের সাহায্যে '10' মান সহ স্ট্যাটিক সদস্য 'x' শুরু করেছি। এখন, আমাদের মধ্যে ' প্রধান() ' ফাংশন, আমরা ' PrintNum ক্লাসের নাম এবং স্কোপ রেজোলিউশন অপারেটরের সাহায্যে 'সংখ্যা' শ্রেণীর ফাংশন। এই ফাংশনটি কল করার সময়, আমরা এটিকে একটি এলোমেলো নম্বর দিয়েছি, অর্থাৎ, 25। আমাদের “ প্রধান() ' ফাংশনটি 'রিটার্ন 0' স্টেটমেন্টের সাথে মোড়ানো হয় যেহেতু আমরা এটিকে একটি পূর্ণসংখ্যা রিটার্ন টাইপ বলে ঘোষণা করেছি।

যখন আমরা এই C++ স্ক্রিপ্টটি কম্পাইল ও এক্সিকিউট করি, তখন আমাদের নম্বর, সেইসাথে ভেরিয়েবল 'x' এর মান সঠিকভাবে টার্মিনালে প্রিন্ট করা হয়েছিল, যেমনটি নীচের ছবিতে দেখানো হয়েছে। এর মানে হল যে C++-এ স্ট্যাটিক পদ্ধতির দ্বিতীয় বৈশিষ্ট্যটি সন্তুষ্ট হয়েছে — স্ট্যাটিক পদ্ধতিগুলি শুধুমাত্র C++-এ একটি ক্লাসের স্ট্যাটিক সদস্যদের অ্যাক্সেস করতে পারে।

উদাহরণ # 3: C++-এ স্ট্যাটিক পদ্ধতির তৃতীয় সম্পত্তি অন্বেষণ করা

এই উদাহরণে, আমরা C++-এ স্থির পদ্ধতির তৃতীয় বৈশিষ্ট্যটি অন্বেষণ করতে চাই, যা প্রকৃতপক্ষে, দ্বিতীয় বৈশিষ্ট্য উল্লেখ করার অন্য উপায়; স্ট্যাটিক পদ্ধতিগুলি ক্লাসের অ-স্ট্যাটিক সদস্যদের অ্যাক্সেস করতে পারে না। এর জন্য, আমরা নিচের ছবিতে দেখানো একটি C++ স্ক্রিপ্ট লিখেছি:

এই C++ স্ক্রিপ্টটি দ্বিতীয় উদাহরণে দেখানো স্ক্রিপ্টের মতো দেখতে। যাইহোক, একমাত্র পার্থক্য হল এই সময়, আমরা 'x' ভেরিয়েবলটিকে স্ট্যাটিক হিসাবে ঘোষণা করিনি।

যখন আমরা এই C++ স্ক্রিপ্টটি কম্পাইল ও এক্সিকিউট করি, তখন নিচের চিত্রের মতো টার্মিনালে একটি ত্রুটির বার্তা তৈরি হয়েছিল, যেখানে বলা হয়েছিল যে C++-এ একটি স্ট্যাটিক পদ্ধতিতে 'x' এর মানের মতো কিছু অ্যাক্সেস করা যাবে না। এর মানে হল যে C++-এ স্ট্যাটিক পদ্ধতির তৃতীয় বৈশিষ্ট্যটি সন্তুষ্ট হয়েছে — স্ট্যাটিক পদ্ধতি C++-এ কোনো ক্লাসের অ-স্ট্যাটিক সদস্যদের অ্যাক্সেস করতে পারে না।

উদাহরণ # 4: C++ এ স্ট্যাটিক পদ্ধতি ব্যবহার করে ধারাবাহিক রোল নম্বর তৈরি করা

এই উদাহরণে, আমরা আমাদের উদাহরণগুলিকে গুটিয়ে নিয়ে C++ এ স্ট্যাটিক পদ্ধতিগুলি কীভাবে কাজ করে তার একটি সামগ্রিক দৃষ্টিভঙ্গি দিতে চেয়েছিলাম। আমরা শুধুমাত্র প্রদত্ত সীমার মধ্যে কিছু রোল নম্বর তৈরি করার জন্য একটি প্রোগ্রাম তৈরি করব। এর জন্য, আমরা নিচের ছবিতে দেখানো একটি C++ স্ক্রিপ্ট লিখেছি:

এই C++ স্ক্রিপ্টে, আমাদের “Rolnumber” নামে একটি ক্লাস আছে। এই ক্লাসের মধ্যে, আমাদের কাছে পূর্ণসংখ্যা ডেটা টাইপের একটি ব্যক্তিগত স্ট্যাটিক সদস্য 'RollNum' আছে। তারপর, আমাদের একটি পাবলিক স্ট্যাটিক পদ্ধতি আছে ' getRollNum() পূর্ণসংখ্যা রিটার্ন টাইপ সহ। এই শ্রেণীর সংজ্ঞার বাইরে, আমরা আমাদের 'RollNum' ভেরিয়েবলটিকে '1' মান দিয়ে শুরু করেছি এবং আমাদের 'সংজ্ঞায়িত করেছি getRollNum() ' ফাংশনটিও বর্ধিত 'রোলনাম' ফেরত দিতে প্রতিবার কল করা হচ্ছে।

তারপর, আমাদের মধ্যে ' প্রধান() ' ফাংশন, আমাদের কাছে একটি 'ফর' লুপ রয়েছে যা একটি কাউন্টার ভেরিয়েবলের মাধ্যমে '0' থেকে '9' পর্যন্ত পুনরাবৃত্তি করে, যা 10টি পুনরাবৃত্তির জন্য। এই লুপের ভিতরে, আমরা প্রিন্ট করতে চাই ' getRollNum() প্রতিটি পুনরাবৃত্তির জন্য ফাংশন। আবার, ' প্রধান() ' ফাংশনটি 'রিটার্ন 0' স্টেটমেন্টের সাথে মোড়ানো হয়।

যখন আমরা এই C++ স্ক্রিপ্টটি কম্পাইল এবং এক্সিকিউট করি, তখন টার্মিনালে 10টি ভিন্ন রোল নম্বরের একটি সিরিজ তৈরি করা হয়েছিল যেমনটি নিম্নলিখিত ছবিতে দেখানো হয়েছে:

উপসংহার

এই নিবন্ধটির জন্য আমাদের লক্ষ্য ছিল আপনাকে উবুন্টু 20.04-এ C++-এ স্ট্যাটিক পদ্ধতির ব্যবহার শেখানো। আমরা এই পদ্ধতিগুলির মৌলিক বৈশিষ্ট্যগুলি ভাগ করেছি, চারটি উদাহরণ অনুসরণ করে যার মাধ্যমে আপনি তাত্ক্ষণিকভাবে শিখতে পারেন কিভাবে এই পদ্ধতিগুলি C++ এ কাজ করে। এই উদাহরণগুলি বোঝার পরে, আপনি সহজেই C++ এ স্ট্যাটিক পদ্ধতিগুলির উপর একটি ভাল কমান্ড অর্জন করতে পারেন। আমরা আশা করি আপনি এই নিবন্ধটি সহায়ক বলে মনে করেছেন, এবং আরও তথ্যপূর্ণ নিবন্ধের জন্য লিনাক্স ইঙ্গিতটি দেখুন।