C++-এ টেমপ্লেট ব্যবহার করে জেনেরিক ফাংশন ও ক্লাস লিখা যায়। টেমপ্লেট স্পেশালাইজেশন দিয়ে কোনো নির্দিষ্ট টাইপের জন্য আলাদা বাস্তবায়ন (implementation) দেওয়া যায়।
ফাংশন টেমপ্লেট স্পেশালাইজেশন
#include <iostream>
using namespace std;
// জেনেরিক টেমপ্লেট
template<typename T>
void my_function(T x) {
cout << "Generalized template: " << x << endl;
}
// char টাইপের জন্য স্পেশালাইজেশন
template<>
void my_function(char x) {
cout << "Specialized for char: " << x << endl;
}
int main() {
my_function(10);
my_function(25.36);
my_function('F');
my_function("Hello");
return 0;
}
আউটপুট
Generalized template: 10 Generalized template: 25.36 Specialized for char: F Generalized template: Hello
ক্লাস টেমপ্লেট স্পেশালাইজেশন
#include <iostream>
using namespace std;
// জেনেরিক ক্লাস
template<typename T>
class MyClass {
public:
MyClass() { cout << "Generalized class constructor" << endl; }
};
// char-এর জন্য স্পেশালাইজড ক্লাস
template<>
class MyClass<char> {
public:
MyClass() { cout << "Specialized class (char) constructor" << endl; }
};
int main() {
MyClass<int> ob_int;
MyClass<float> ob_float;
MyClass<char> ob_char;
MyClass<string> ob_string;
return 0;
}
আউটপুট
Generalized class constructor Generalized class constructor Specialized class (char) constructor Generalized class constructor
ব্যবহার: নির্দিষ্ট টাইপের জন্য অপ্টিমাইজড বা আলাদা লজিক লিখতে স্পেশালাইজেশন ব্যবহার করা হয়।