说明C ++中的函数重载解决方案和函数重载类型
如果您没有阅读有关函数重载的信息,我建议您在阅读本文之前,先阅读C++函数重载。
函数重载解析
当我们调用重载函数时,要执行哪个函数的决定称为函数重载解析。我们不能基于返回类型重载函数。这意味着函数重载解析是在仅签名的基础上完成的。
有以下用于函数重载解决方案的条件:
函数调用完全匹配或仅使用转换进行匹配。示例数组名称指向指针,函数名称指向函数指针。
使用促销的函数调用匹配:
提升整数数据类型:bool→char→short→int→longint
浮点型促销:浮点型→双精度型→长双精度型
使用标准转换的函数调用匹配:
派生*→基数*
数据类型*→无效*
标准数据类型的转换:整数→浮点型
转换阶层:
函数调用在用户定义转换的帮助下进行匹配。
注意:当同时找到两个函数调用匹配项时,该调用将被拒绝,称为歧义调用。
函数重载类型
有多种方法可以使函数重载:
参数数量不同
不同类型的参数
不同顺序的参数
不同数量和类型的参数
1)不同数量的参数
我们可以借助参数数量来重载函数,函数中的参数可以为0,1和多个。
示例
void print(); void print(char ch); void print(char ch, int num);
2)不同类型的参数
我们可以根据不同类型的参数重载函数。这意味着每个函数都有不同数据类型的参数。
示例
void printval(int val); void printval(char val); void printval(float val);
3)不同的参数顺序
我们可以根据参数的顺序重载函数。
示例
void printChar(int num, char ch); void printChar(char ch, int num);
4)不同数量和类型的参数
我们还可以结合以上类型的函数重载。。
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法