টেমপ্লেট (Template) C++-এ:
C++-এ টেমপ্লেট হল এমন একটি প্রোগ্রামিং কৌশল যা আপনাকে জেনেরিক (অথবা প্যারামেট্রাইজড) কোড লেখার সুযোগ দেয়। এটি ডেটা টাইপ নির্দিষ্ট না করে কোড লেখার সক্ষমতা প্রদান করে, ফলে একাধিক ডেটা টাইপের জন্য একই ফাংশন বা ক্লাস ব্যবহার করা যায়। টেমপ্লেটের মাধ্যমে আপনি ফাংশন এবং ক্লাস উভয়ের জন্য সাধারণ কোড তৈরি করতে পারেন, যা বিভিন্ন ডেটা টাইপের সাথে কাজ করতে সক্ষম।
টেমপ্লেট ব্যবহারের সুবিধা:
- এটি কোড পুনঃব্যবহারযোগ্যতা বাড়ায়, কারণ একই ফাংশন বা ক্লাস বিভিন্ন ডেটা টাইপের সাথে কাজ করতে পারে।
- আপনি কোডের সাধারণতা এবং কার্যকারিতা বৃদ্ধি করতে পারেন, যার ফলে ডেটা টাইপ নির্দিষ্ট না করেও একটি ফাংশন বা ক্লাস তৈরি করা সম্ভব হয়।
- এটি কোডের রিডেবিলিটি এবং মেইন্টেনেবিলিটি বাড়ায়, কারণ আপনি একাধিক ডেটা টাইপের জন্য আলাদা ফাংশন বা ক্লাস তৈরি না করে একটি সাধারণ কোড ব্যবহার করতে পারেন।
ফাংশন টেমপ্লেটের উদাহরণ:
#include
using namespace std;
// ফাংশন টেমপ্লেট
template
T add(T a, T b) {
return a + b;
}
int main() {
int intResult = add(10, 20); // ইন্ট টাইপের জন্য ফাংশন কল
double doubleResult = add(10.5, 20.5); // ডাবল টাইপের জন্য ফাংশন কল
cout
কাজের ব্যাখ্যা:
- এখানে, add হল একটি ফাংশন টেমপ্লেট, যা যেকোনো টাইপের দুইটি ইনপুট গ্রহণ করে এবং তাদের যোগফল প্রদান করে।
- ফাংশনটির প্যারামিটার হিসেবে typename T ব্যবহার করা হয়েছে, যা ডেটা টাইপের জেনেরিক প্যারামিটার হিসেবে কাজ করে।
- ফাংশনটি প্রথমে int টাইপের মানের জন্য কল করা হয়েছে এবং তারপর double টাইপের মানের জন্য কল করা হয়েছে।
ক্লাস টেমপ্লেটের উদাহরণ:
#include
using namespace std;
// ক্লাস টেমপ্লেট
template
class Box {
private:
T value;
public:
Box(T val) : value(val) {}
T getValue() {
return value;
}
};
int main() {
Box intBox(5); // ইন্ট টাইপের জন্য ক্লাস ইনস্ট্যান্স তৈরি
Box doubleBox(3.14); // ডাবল টাইপের জন্য ক্লাস ইনস্ট্যান্স তৈরি
cout
কাজের ব্যাখ্যা:
- এখানে, Box হল একটি ক্লাস টেমপ্লেট, যা যেকোনো টাইপের ভ্যালু ধারণ করতে পারে।
- আমরা int এবং double টাইপের জন্য Box ক্লাসের দুটি আলাদা ইনস্ট্যান্স তৈরি করেছি।
- যেহেতু এটি একটি টেমপ্লেট ক্লাস, তাই এটি যে কোন ডেটা টাইপের জন্য ব্যবহার করা যায়।
সারাংশ:
- টেমপ্লেট C++-এ ডেটা টাইপ নির্দিষ্ট না করে ফাংশন এবং ক্লাস তৈরি করতে ব্যবহৃত হয়।
- এটি কোড পুনঃব্যবহারযোগ্যতা এবং সাধারণতার সুবিধা প্রদান করে, এবং একাধিক ডেটা টাইপের জন্য একই কোড ব্যবহার করা সম্ভব হয়।