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 年前幸福祝福语大全简短