#include <iostream>
template <typename T, typename U>
class TC
{
public:
TC()
{
std::cout << "泛化版本构造函数" << std::endl;
}
void funtest()
{
std::cout << "泛化版本成员函数" << std::endl;
}
void display()
{
std::cout << "泛化版本成员函数" << std::endl;
}
};
template<>
class TC<int, int>
{
public:
TC()
{
std::cout << "全特化版本构造函数" << std::endl;
}
void funtest()
{
std::cout << "全特化版本成员函数" << std::endl;
}
};
//函数全特化
template<>
void TC<double, double>::funtest()
{
std::cout << "全特化版本函数" << std::endl;
}
template<>
void TC<float, float>::display()
{
std::cout << "全特化版本函数" << std::endl;
}
int main()
{
TC<int, int> tint;
tint.funtest();
TC<float, float>ints;
ints.display();
}