栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++函数重载

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++函数重载

文章目录
  • 函数重载
  • 作用
  • 函数重载语法和条件
  • 函数重载原理
  • 函数重载碰到默认参数

函数重载

函数重载通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处

作用
  • 复用函数名称。
函数重载语法和条件
  1. 同一个作用域(全局作用域、命名空间作用域、类作用域)
  2. 参数个数不同
  3. 参数类型不同
  4. 参数顺序不同

注意: 返回值类型不作为函数重载条件。(函数的返回值可以忽略)

示例

class
{
public:
	int MyAdd(int a, int b);
	double MyAdd(double a, double b);
	double MyAdd(int a, int b, double c);
	double MyAdd(double c, int a, int b);
}
  • 当函数名字一样的时候,通过参数类型、参数个数、参数顺序来匹配函数调用
  • 函数发生调用,首先编译器会进行严格类型匹配,如果匹配不成功,编译器对参数进行隐式类型转换,转换成功,则可进行函数调用
函数重载原理

编译器为了实现函数重载,也是默认为我们做了一些幕后的工作,编译器用不同的参数类型来修饰不同的函数名。

比如 void func(); 编译器可能会将函数名修饰成 _func,
函数重载碰到默认参数
  • 当重载的函数具有默认值的时候,要避免二义性
int my_function() 
{
	cout << "hello world"; 
	return 0;
}

int my_function(int val = 100) 
{ 
	return 100;
}

void test04()
{
	my_function();  //err  
	//my_function(10);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883123.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号