6)C++之函数重载
Posted 流浪孤儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6)C++之函数重载相关的知识,希望对你有一定的参考价值。
函数重载概念
函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的 形参列表(参数个数 或 类型 或 顺序)必须不同,常用来处理实现功能类似数据类型不同的问题(函数重载是C语言所不具备的)
客官请看代码
#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; //函数重载:函数名相同,参数不同(类型/个数/顺序) //类型不同 int Add(int left, int right) {return left + right;} long Add(long left, long right) {return left + right;} double Add(double left, double right) {return left + right;} //顺序不同(顺序不同指的是不同类型的参数之间的前后顺序) void TestFunc1(int i, char ch){;} void TestFunc1(char ch, int i){;} //void TestFunc1(int i, int ch){;} //void TestFunc1(int ch, int i){;}这两个函数其实是一个函数,因为命名规则后是一样的名字) //命名规则在下一节会细讲,知晓了命名规则后就会明白为什么C语言没有函数重载了 //个数不同 void TestFunc2(int i, char ch){;} void TestFunc2(int i){;} void TestFunc2(){;} //只是返回值不同无法构成重载 void TestFunc3() { ; } //int TestFunc3() { ; }//会被报错 int main() { //根据参数去识别相应的函数 Add(10, 20); Add(10L, 20L); Add(10.0, 20.0);
return 0; } |
//对返回值没有要求,因为考虑这个的话,某一类型的变量接收函数调用的返回值
//具体调用哪个函数还需要看这个变量是什么类型的,这样函数调用就需要依赖上下文,效率就低
以上是关于6)C++之函数重载的主要内容,如果未能解决你的问题,请参考以下文章