码迷,mamicode.com
首页 > 其他好文 > 详细

函数模板遇上函数重载

时间:2018-03-05 15:30:59      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:typename   不一致   turn   重载   函数   pos   有一个   body   blog   

当函数模板的名称和普通函数的名称一样时,会发生函数重载。

 1 #include <iostream>
 2 using namespace std;
 3 
 4 //函数模板
 5 template <typename T>
 6 void myfun(T& x,T& y)
 7 {
 8     cout<<"我是函数模板"<<endl;
 9 }
10 
11 //普通函数
12 void myfun(int a,char c)
13 {
14     cout<<"我是普通函数"<<endl;
15 }
16 
17 int main()
18 {
19     int x=10;
20     char y=Y;
21 
22     myfun(x,y);//两个输入参数类型不一样,且与普通函数的输入类型一致,调用的是普通函数
23     myfun(y,x);//两个输入参数类型不一样,但与普通函数的输入类型不一致,调用的是普通函数,因为普通函数之间会有一个隐式的类型转换
24     myfun(x,x);//两个输入参数类型一样,调用的是函数模板,函数模板的本质是类型参数化,将严格按照类型匹配,不会进行自动类型转换
25 
26     return 0;
27 }

 

函数模板遇上函数重载

标签:typename   不一致   turn   重载   函数   pos   有一个   body   blog   

原文地址:https://www.cnblogs.com/jswu-ustc/p/8508844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!