1.重载发生在类内部
2.重写发生在子类和父类之间
3.调用函数模板(本质:类型参数化),将严格的按照类型进行,不会进行类型自动转换
4.普通函数调用,可以进行隐式类型转换
#include<stdlib.h>
#include<iostream>
using namespace std;
template <typename T>
void SwapData(T &a, T &b)
{
T tempdata;
tempdata = a;
a = b;
b = tempdata;
cout << "call SwapData(T &a, T &b)" << endl;
return;
}
void SwapData(int x, char y)
{
cout << "x:" << y << endl << "y:" << x << endl;
cout << "SwapData(int x, char y)" << endl;
}
void main()
{
int m = 10;
char n = 'a';
int b = 100;
int d = 50;
SwapData(m,n);//调用void SwapData(int x, char y)
SwapData(n,n);//调用void SwapData(T &a, T &b)
SwapData(n,m);//调用void SwapData(int x, char y)
SwapData(b,d);//调用void SwapData(T &a, T &b)
system("pause");
return;
}