物联网/嵌入式工程师
重磅升级:新增硬件电路设计与实战,让你软硬通吃,同级PK无敌!行业风口、政策倾斜,新晋热门高薪不内卷!0基础一站式就业完整路径,抢占先发优势!
现在,小慕是一家市值百亿的科技公司的老板,旗下产品无数,管着几千个程序员,还管着人力资源,当然,最重要的,还管着财务。每天都很忙,却可以把公司管理得井井有条。他是怎么做的呢?
公司事务繁杂,雇佣了很多员工来帮助公司运转。例如,公司需要为员工缴纳五险一金,而作为老板,显然不用带着每一个员工的资料去人社局办理,只需要告诉 HR 部门,让他们去办理就行了。老板不需要知道办理社保的具体细节,因为具体细节 HR 部门的同事更擅长,老板所做的仅仅是发出命令就可以了。
回到 C++ 里面来,在 C++ 中,也有很多需要用到这种模式的场景。
例如,我们想要计算两个数的平均值:
#include <stdio.h> int main(int argc,char **argv) { int a = 10; int b = 20; int c = a + b / 2; return 0; }
可以看到,计算平均数是一个可以进行单独模块化的部分,就像是公司的 HR 部门。在 C++ 中我们通过函数将这个部分做成一个模块。
#include <stdio.h> //定义函数 int avg(int a, int b) { return a + b / 2; } int main(int argc,char **argv) { int a = 10; int b = 20; int c = avg(a, b); //函数调用 return 0; }
上面的代码中,我们就把计算平均数做成了一个函数,avg函数,在使用的时候,只需要直接调用这个函数就行了,而不用去了解平均数的计算方式。
在上面的例子中,我们把 avg 函数定义到了 main 函数之前,在使用的时候没有出现问题。
而有的同学想把avg函数写到 main 之后,例如这样:
#include <stdio.h> int main(int argc,char **argv) { int a = 10; int b = 20; int c = avg(a, b); return 0; } int avg(int a, int b) { return a + b / 2; }
这样修改之后,发现程序没法运行了。这是因为在 C++ 中,函数要想使用,必须要先声明。所以我们可以在调用之后实现函数体,但是必须在调用之前声明
#include <stdio.h> int avg(int a, int b); //函数声明 int main(int argc,char **argv) { int a = 10; int b = 20; int c = avg(a, b); return 0; } int avg(int a, int b) { return a + b / 2; }
我们现在将函数分成两个部分来说明,分别是函数头,函数体
函数头:
函数体:
c++ 允许函数为调用者返回一个量,就像是老板安排某一个员工去办某一件事,老板希望员工办完这件事之后,给一个结果。而在这个求平均数的例子中,返回值就是求平均数之后的结果。
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报