#include<iostream> using namespace std; int add(int a,int b) { return a+b; } double add(double a,double b) { return a+b; } char add(char a,char b) { return a+b; } int main() { cout<<add(1,2)<<endl; cout<<add(1.2,3.6)<<endl; cout<<add('0','1')<<endl; return 0; }
程序中实现不同类型的两个变量进行相加操作。通过对add函数的重载实现对整型、浮点型和字符的相加操作。如果后面再需要对字符串进行加操作就需要再重载add函数。程序中的三个add函数体内的实现程序完全一致。使用模板的程序如下:
#include<iostream> using namespace std; template<class T> T add(T a,T b) { return a+b; } int main() { cout<<add(1,2)<<endl; cout<<add(1.2,3.6)<<endl; cout<<add('0','1')<<endl; return 0; }
使用模板后实现了代码的复用,原来的三个函数现在只需要一个函数就可以实现。