এই নিবন্ধে আমরা C++ STL-এ std::is_final টেমপ্লেটের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
is_final হল একটি টেমপ্লেট যা
C++ এ চূড়ান্ত ক্লাস কি?
যখন আমরা চূড়ান্ত স্পেসিফায়ার সহ একটি ক্লাস ঘোষণা করি তখন এটিকে চূড়ান্ত ক্লাস বলা হয়। ফাইনাল ক্লাস হল একটি বিশেষ ধরনের ক্লাস যা অন্য ক্লাস তৈরি করার জন্য বাড়ানো যায় না। C++ তে একটি ক্লাসকে চূড়ান্ত হিসাবে তৈরি করতে আমরা একটি ক্লাসকে বন্ধু হিসাবে তৈরি করি এবং তারপর সেই ক্লাসটিকে অপ্রসারিত করার জন্য কার্যত সেই ক্লাসের উত্তরাধিকারী করি।
একটি চূড়ান্ত ক্লাসের উদাহরণ
<প্রি>ক্লাস ফাইনাল_এবিসি; //ক্লাস যা ফাইনালক্লাস করা হবে abc { private:abc(){cout<<"abc constructor";} বন্ধু ক্লাস final_abc;};class final_abc :ভার্চুয়াল abc //এটিকে চূড়ান্ত ক্লাস করা হয়েছে। { পাবলিক:final_abc(){cout<<"ফাইনাল ক্লাস কনস্ট্রাক্টর";}};ক্লাস ডেরাইভ :পাবলিক ফাইনাল_এবিসি; //ত্রুটি বাড়ানো যাবে নাসিনট্যাক্স
টেমপ্লেটis_final;
পরামিতি
টেমপ্লেটে শুধুমাত্র T টাইপের প্যারামিটার থাকতে পারে এবং প্রদত্ত টাইপটি চূড়ান্ত ক্লাস টাইপ কিনা তা পরীক্ষা করে দেখুন।
রিটার্ন মান
এটি একটি বুলিয়ান মান প্রদান করে, প্রদত্ত টাইপটি চূড়ান্ত শ্রেণী হলে সত্য এবং প্রদত্ত প্রকারটি চূড়ান্ত শ্রেণী না হলে মিথ্যা।
উদাহরণ
ইনপুট:class final_abc; ক্লাস abc {বন্ধু ক্লাস ফাইনাল_এবিসি; }; ক্লাস ফাইনাল_এবিসি :ভার্চুয়াল এবিসি{}; is_final::value;আউটপুট:FalseInput:class final_abc; ক্লাস abc {বন্ধু ক্লাস ফাইনাল_এবিসি; }; ক্লাস ফাইনাল_এবিসি :ভার্চুয়াল এবিসি{}; is_final ::value;আউটপুট:True
উদাহরণ
#include#include নেমস্পেস ব্যবহার করে std;class TP {//Same যদি এটি একটি ক্লাসের পরিবর্তে একটি স্ট্রাকচার হবে};ক্লাস T_P ফাইনাল {//একই যদি এটি এর পরিবর্তে একটি কাঠামো হয় a class};int main() { cout < ::value; cout <<"\nT_P ফাইনাল:"< ::value; cout <<"\nchar এর জন্য পরীক্ষা করুন:"< ::value; রিটার্ন 0;
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেis_finalTutorials পয়েন্ট ব্যবহার করা:falseT_P ফাইনাল:চর এর জন্য truecheck:false
উদাহরণ
#include#include Namespace ব্যবহার করে cout <<"ব্যবহার করা হচ্ছে_ফাইনাল"; cout <<"\nটিউটোরিয়াল পয়েন্ট:"< ::value; cout <<"\nT_P ফাইনাল:"< ::value; cout <<"\nchar এর জন্য পরীক্ষা করুন:"< ::value; রিটার্ন 0;
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেis_finalTutorials পয়েন্ট ব্যবহার করা:falseT_P ফাইনাল:চর এর জন্য truecheck:false