C++学习笔记 第八课 函数重载

学习笔记内容来自:狄泰软件学院 唐佐林老师 的视频,十分感谢您的指导

函数重载条件:

  1. 参数个数不同
  2. 参数顺序不同
  3. 参数类型不同

符合其中一个条件即可重载函数

编译器调用重载函数的准则:

1.将所有同名函数作为候选者
2.尝试寻找可行的候选函数
(1)精确匹配实参
(2)通过默认参数能匹配实参
(3)通过默认类型转换匹配实参
3.函数返回值类型不能做为函数重载的依据

匹配失败:
1.最终寻找到的候选函数不唯一,则出现二义性,编译失败。比如:

int func(int a,int b,int c=0)
{
  return a*b*c;
}

int func(int a,int b)
{
  return a+b;
}

调用func(1,2)时出现二义性,编译失败。
2.无法匹配所有候选者,函数未定义,编译失败。

PS:重载函数之间是相互独立的函数,取地址时地址不一样

发布了15 篇原创文章 · 获赞 0 · 访问量 102

猜你喜欢

转载自blog.csdn.net/u012321968/article/details/104450135