C++函数重载

C++函数重载,第1张

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

函数重载

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

作用
  • 复用函数名称。
函数重载语法和条件
  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);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/921404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存