65,203
社区成员




#include <string>
template<typename T>
class tmp
{
public :
T max(const T&,const T&);
};
template<typename T>
T tmp<T>::max(const T&a,const T& b)
{
cout << "普通版本"<<endl;
return a;
}
template<>
class tmp<std::string>
{
public:
std::string max(const std::string&,const std::string&);
};
template<>
std::string tmp<std::string>::max(const std::string& a,const std::string& b)
{
cout << "特化版本"<<endl;
return a;
}
template<typename T>
class tmp
{
public :
T max(const T&,const T&);
};
template<typename T>
T tmp<T>::max(const T&a,const T& b)
{
cout << "普通版本"<<endl;
return a;
}
template<>
class tmp<std::string>
{
public:
std::string max(const std::string&,const std::string&);
};
std::string tmp<std::string>::max(const std::string& a,const std::string& b)
{
cout << "特化版本"<<endl;
return "hello";
}
#include <string>
template<typename T>
class tmp
{
public :
T max(const T&,const T&);
};
template<typename T>
T tmp<T>::max(const T&a,const T& b)
{
cout << "普通版本"<<endl;
return a;
}
template<>
class tmp<std::string>
{
public:
std::string max(const std::string&,const std::string&);
};
std::string tmp<std::string>::max(const std::string& a,const std::string& b)
{
cout << "特化版本"<<endl;
return a;
}
template<typename T>
class tmp
{
public :
T max(const T&,const T&);
};
template<typename T>
T tmp<T>::max(const T&a,const T& b)
{
cout << "普通版本"<<endl;
return a;
}
template<>
class tmp<std::string>
{
public:
std::string max(const std::string&,const std::string&){
cout << "特化版本"<<endl;
return "hello";
}
};