//通过通和模板函数都可以实现,优先调用普通
//通过空模板强制调用函数模板
//函数模板也可以发生重载
//如果模板函数可以产生更好的匹配 优先调用函数模板
#include<iostream>
using namespace std;
void myPrint(int a, int b)
{
cout << "调用普通函数" << endl;
}
template<typename T>
void myPrint(T a, T b)
{
cout << "调用模板函数" << endl;
}
template<typename T>
void myPrint(T a, T b,T c)
{
cout << "调用重载函数模板" << endl;
}
void test01()
{
int a = 10; int b = 20;
myPrint(a,b);//1调用普通函数
//2通过空模板参数列表强制调用函数模板
myPrint<>(a, b);
//3函数模板也可以重载
int c = 30;
myPrint(a, b, c);
//4.若函数模板产生更好的匹配 优先调用
char c1= 'a';
char c2 = 'b';
myPrint(c1, c2);
}
int main()
{
test01();
system("pause");
return 0;
}