C++ 函数

函数:

int a_sum(){}

int : 返回类型;

a_sum : 函数名;自定义,最好加上前缀,以防函数名重定义

() : 存放形参;内含调用函数传递给被调用函数的信息;

{} : 函数体;内存放执行函数功能的代码

函数参数默认值:

//函数高级
#include<iostream>
using namespace std;
//int a_sum(int a,int b,int c=20);//函数声明
int a_sum(int a, int b = 10, int c = 20) {//函数定义
	return a + b + c;
}
int main() {  
    //int answer=a_sum();//报错
	int answer1 = a_sum(10);//输出10+10+20
	int answer2 = a_sum(10, 20);//输出10+20+20=50     //若主函数未传递值,那么以初始化值计算
	int answer3 = a_sum(10, 20, 30);//输出10+20+30    //若主函数传递了值,那么以主函数传递值计算
	cout << "answer1 : " << answer1 << " answer2 : " << answer2 << " answer3 : " << answer3 << endl;
	return 0;
}

如上a_sum函数,主函数调用sum函数,并且传递了三个参数a,b,c给sum函数;

通常我们需要传递三个函数给sum,但是由于上文sum中b,c已经初始化,因此在主函数不传递b,c的值的情况下,会默认b,c为初始化值而正常运行;而如果主函数传递b,c的值,那么便会以主函数传递的值进行运算;

而sum中a并没有初始化,因此若调用函数不传递a的值,那么程序便无法运行

注意:

1.若上述中,int a_sum(int a,int b,int c){}中

b被初始化了--int a_sum(int a,int b=10,int c){}

那么其后的参数(c)都必须初始化,否则便会报错;

2.若函数声明有默认参数(初始化),那么函数实现就不能有默认参数(初始化);只能其中一个进行初始化;

在编写时并不会报错,但在编译的时候无法运行;

函数占位参数:

void func(int a,int);

void func(int a,int=10);--函数占位参数也可以初始化(有默认值)

但注意:占位参数在之后必须补齐;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值