(C/C++学习笔记)函数模板遇上函数重载
2015-08-19 10:00
495 查看
/* 1 函数模板可以像普通函数一样被重载 2 C++编译器优先考虑普通函数 3 如果函数模板可以产生一个更好的匹配,那么选择模板 4 可以通过空模板实参列表的语法限定编译器只通过模板匹配 */ /* 函数模板不允许自动类型转化 普通函数能够进行自动类型转换 */ #include <iostream> using namespace std; int Max(int a, int b) { cout<<"int Max(int a, int b)"<<endl; return a > b ? a : b; } template<typename T> T Max(T a, T b) { cout<<"T Max(T a, T b)"<<endl; return a > b ? a : b; } template<typename T> T Max(T a, T b, T c) { cout<<"T Max(T a, T b, T c)"<<endl; return Max(Max(a, b), c); } void main() { int a = 1; int b = 2; cout<<Max(a, b)<<endl; cout<<Max<>(a, b)<<endl; cout<<Max(3.0, 4.0)<<endl; cout<<Max(5.0, 6.0, 7.0)<<endl; cout<<Max('a', 100)<<endl; system("pause"); return ; }
相关文章推荐
- 【effective c++读书笔记】【第8章】定制new和delete(2)
- 【effective c++读书笔记】【第8章】定制new和delete(2)
- C/C++题库
- C++ STL基本容器的使用
- 黑马程序员-----C语言学习之流程控制
- 提升c++builder 代码输入流畅度的配置
- 关于学习c++和编程的50个观点
- c语言字符数组与字符串深入解析
- 关于C、C++、Java中数组的使用
- codeblocks进行C++开发 向工程中添加Class 发生编译错误:"No such file or directory" 解决方案
- C语言中exit函数的使用
- Java和C++ 比较
- Note_20150814_C++_Function
- C++ Primer 学习笔记_54_类和数据抽象 --拷贝构造函数、赋值运算符
- C语言中谓词的用法
- C++:STL标准入门汇总
- C++语言学习之STL 的组成
- C++ #if 1
- 编写大规模的C语言程序
- Standard C++ Episode 3