对于模板类,也同样存在和模板函数重载类似的应用场景,但是在模板类中则是以模板类特化的方式存在。
#include <iostream>
#include "math.h"
using namespace std;
template<typename T>
class compare
{
public:
static bool isEqual(const T& _numA,const T& _numB)
{
return _numA == _numB;
}
};
template<>
class compare<float>
{
public:
static bool isEqual(const float& _numA,const float& _numB)
{
return fabs(_numA - _numB) <1e-6;
}
};
int main(int argc, const char * argv[])
{
compare<int>a;
cout<<a.isEqual(10, 5+5)<<endl;
compare<float>b;
cout<<b.isEqual(1.1, 1.5)<<endl;
return 0;
}