C ++中的模板专业化
在C++中,模板用于创建通用的函数和类。因此,我们可以使用模板使用任何类型的数据,例如int,char,float或某些用户定义的数据。
在本节中,我们将看到如何使用模板专门化。因此,现在我们可以为不同类型的数据定义一些通用模板。还有一些特殊的模板功能,用于特殊类型的数据。让我们看一些例子以获得更好的主意。
范例程式码
#include<iostream>
using namespace std;
template<typename T>
void my_function(T x) {
cout << "This is generalized template: The given value is: " << x << endl;
}
template<>
void my_function(char x) {
cout << "This is specialized template (Only for characters): The given value is: " << x << endl;
}
main() {
my_function(10);
my_function(25.36);
my_function('F');
my_function("Hello");
}输出结果
This is generalized template: The given value is: 10 This is generalized template: The given value is: 25.36 This is specialized template (Only for characters): The given value is: F This is generalized template: The given value is: Hello
也可以为类创建模板专用化。让我们通过创建通用类和专用类来查看一个示例。
范例程式码
#include<iostream>
using namespace std;
template<typename T>
class MyClass {
public:
MyClass() {
cout << "This is constructor of generalized class " << endl;
}
};
template<>
class MyClass <char>{
public:
MyClass() {
cout << "This is constructor of specialized class (Only for characters)" << endl;
}
};
main() {
MyClass<int> ob_int;
MyClass<float> ob_float;
MyClass<char> ob_char;
MyClass<string> ob_string;
}输出结果
This is constructor of generalized class This is constructor of generalized class This is constructor of specialized class (Only for characters) This is constructor of generalized class
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短