函数模板的重载
前面跟大家介绍了一下函数模板的使用,其实所谓的函数模板就是函数体相同的代码片段的合集,通过显性或者隐性的方式即可使用函数模板生成相应的实际函数体,终编译运行。
这样在一定程度上增加了代码片段的高度整合和可复用性。
那么函数模板其实跟普通的函数并没有本质上的区别,而函数重载是C++中的重要属性,当出现了同名的函数模板与普通函数之间同样也会发生函数重载。
重载规则
1#include<cstdio>
2#include<iostream>
3using namespace std;
4
5//函数模板
6template<typename Ty>
7Ty Add(Ty param1,Ty param2)
8{
9 cout<<"***TemplateFunction***"<<endl;
10 return param1 + param2;
11}
12
13//普通函数
14float Add(float param1,float param2)
15{
16 cout<<"***NormalFunction***"<<endl;
17 returnparam1 + param2;
18}
19
20int main(void)
21{
22
23 float a = 2.2;
24 float b = 3.3;
25
26 cout<<"Addresult :"<<Add(2.2,3.3)<<endl<<endl;
27
28 cout<<"Addresult :"<<Add(2.2f,3.3f)<<endl<<endl;
29
30 cout<<"Addresult :"<<Add(a,b)<<endl<<endl;
31
32 cout<<"Addresult :"<<Add(1,3)<<endl<<endl;
33
34 cout<<"Addresult :"<<Add(2,3.3)<<endl<<endl;
35
36 cout<<"helloC++"<<endl;
37
38 return1;
39
40}
后
这里小哥就介绍了一下C++中函数模板与普通函数的重载问题,希望本文能够对你有帮助,该系列还会持续更新,大家可以持续关注~
文章来源:嵌入式情报局