c++函数重载

函数重载:在同一个作用域下,函数名相同,参数列表不同(参数类型,数量等),返回类型无要求,重载是描述多个函数之间的关系。

一.简单的函数重载:

1.参数类型不同:

int add(int a, int b) {
	return a + b;

}

double add(double a, double b) {
	return a + b;

}

2.数量不同:

int add(int a, int b) {
	return a + b;

}


int add(int a, int b,int c) {
	return a + b + c;

}

在主函数中使用时会匹配相对应的函数。

int main()
{
	cout << add(10,20) << endl;
	cout << add(10.2, 20.9) << endl;
	cout << add(1, 2, 3) << endl;
	system("pause");
	return 0;
}

二.一些比较容易混淆的函数重载

//是函数重载
void fun(){}
void fun(int a=1){}
//不是函数重载
void fun1(int a){}
void fun1(const int a) {}
//是重载
void fun2(int* a){}
void fun2(const int* a) {}
//不是函数重载,重定义
void fun3(int arr[]){}作为参数arr[]和*arr无区别
void fun3(int *arr) {}

在上面第一种函数重载中我们想要按照下面注释的条件去使用需要在main函数中一整种方式去写

fun(2);//可以自动匹配
void fun();
fun();//不可以自动匹配需要在前面写上声明
//如果想用带初始化值得还想要在局部声明,则需要用{}将他们括起来
{
	void fun(int a = 1);
	fun(3);
}

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值