函数模板在c++里面的坑
2015-08-23 19:34
316 查看
摘要: 函数重载可以用函数模板来实现,但是在用函数模板来做的时候发现不能使用命令空间using namespace std;这是我在stack overflow查到的结果
1、函数重载
2、函数模板
1、函数重载
// // main.cpp // inlinefunction // // Created by geek on 15/8/22. // Copyright (c) 2015年 geek. All rights reserved. // //函数重载,具有相同函数名不同函数参数 #include <iostream> using namespace std; int max(int num1,int num2){ if(num1>num2){ return num1; }else{ return num2; } } double max(double num1,double num2){ if(num1>num2){ return num1; }else{ return num2; } } double max(double num1,double num2,double num3){ return max(num1,max(num2,num3)); } int main(){ int num1,num2; cout<<"请输入2个整数"; cin>>num1>>num2; cout<<"较大整数为:"<<max(num1,num2); double num3,num4; cout<<"请输入2个浮点数"; cin>>num3>>num4; cout<<"较大整数为:"<<max(num3,num4); double num5,num6,num7; cout<<"请输入3个浮点数"; cin>>num5>>num6>>num7; cout<<"较大整数为:"<<max(num5,max(num6,num7)); return 0; }
2、函数模板
// // main.cpp // template // // Created by geek on 15/8/22. // Copyright (c) 2015年 geek. All rights reserved. // //在使用模函数模版时不能使用using namespace std; #include <iostream> template <typename T> T max(T num1,T num2){ if(num1>num2){ return num1; }else{ return num2; } } int main(){ printf("%d",max(5,7)); return 0; }
相关文章推荐
- POJ 3281 [网络流dinic算法模板]
- 初识项目
- yum grouplist 安装gnome桌面环境
- 转-MySQL服务添加到Windows系统服务中
- visual stdio 2015下调试c++程序一闪而过决解办法
- IOS Storyboard中使用Segue传值
- Struct2笔记②--完善登陆代码
- Android(java)学习笔记191:数据存储的方式
- DOM基础----DOM(一)
- 第十一章 字符串和字符函数
- UVa 140 Bandwidth 例题7-6
- java基础-多线程
- 各种语音编码方法,所需要的带宽
- 剑指offer面试题17-合并两个排序的链表
- 剑指offer面试题16-反转链表
- 第3组UI(1)-AdapterView之ListView及MVC设计模式
- Linux学习日记--基础命令(1)--ls,帮助,LFS
- 确定两串乱序同构(Java)
- 走格子/走棋盘问题
- 函数申明和函数表达式