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++之函数重载的主要内容,如果未能解决你的问题,请参考以下文章

c++之缺省函数函数重载

c++之缺省函数函数重载

C++之函数重载

C++基础——C++面向对象之重载与多态基础总结(函数重载运算符重载多态的使用)

C++的函数重载

2-4:C++快速入门之函数重载