#include <iostream>
using namespace std;
template<typename T>
struct TestStruct {
T val;
void print() {
cout << "Generic: " << val << endl;
}
};
// 全特化版本
template<>
struct TestStruct<int> {
int val;
void print() {
cout << "Specialized int: " << val * 2 << endl;
}
};
int main() {
TestStruct<double> s1;
s1.val = 3.14;
s1.print();
TestStruct<int> s2;
s2.val = 5;
s2.print();
return 0;
}