C++_函数的定义_调用_值传递_常见的样式_声明(重要)_分文件编写
然后再去看函数,只看重点部分,笔者有一定的java经验,.net经验,所以文档中太多简单的部分,就不细说了.
?
结构跟java差不多一样的.
?
可以看到格式跟java是一样的
?
可以去写个函数
?
?
可以看到函数的编写与调用都很简单.
?
?
然后可以自己去写一个函数去看看效果.
?
?
可以看到函数定义完了,并且实现了调用.
?
然后再去看值传递.
?
可以看到void类型的函数,不需要,return
?
?
上面swap这个函数
的作用是把两个数调换.
?
?
然后调用这个函数看看结果
?
?
然后看一下c++中的函数的常见的样式
?
无参数无返回值的
?
无参数无返回值的调用
?
?
然后有参数,无返回值的
?
?
无参数 有返回值的
?
?
有参数有返回值的
?
?
?
大体上就这几种函数.
?
?
?
?
可以看到我写了一个max函数,用来返回,两个数中的大的一个.
?
但是这里注意,如果我把max函数,放在调用他的main函数的下面
就会报错.
一执行就报错,这个是因为,用是在上面用的,但是定义是在下面定义的,这样是不行的
?
?
可以看到,在调用前面,写上这个函数就可以了,是因为代码执行是按顺序执行的
如果在上面掉用的函数,而在下面才声明写了这个函数,这个时候就会报错.这个要注意
因为在java中没有这个问题.
?
但是我们如果非要想把,要调用的函数,写到下面的话,也可以,但是
需要注意,要在最顶上面先声明这个函数,存在,其实就是告诉,编译器,我有这个函数,
但是我声明在下面了,不知道声明在哪了,你往下找,肯定能找到这个函数.
可以看到声明函数,其实就是在最上面,直接写上
int max(int a,int b); 这样就行了不用写函数体.
?
?
这里还要注意,声明函数,可以声明多次的.这个没事.
?
但是写函数,一个函数就只能写一次了,写多个就报错,因为重复了,
在java中也是这样的.
?
然后我们再去看如何把函数的文件,分开来编写.
?
可以看到比如这个swap这个函数.
我们写了声明和,函数体.
?
我们把这个函数完成
?
?
然后调用执行一下么问题
?
然后可以看到,要把一个函数,分开到不同的文件里的,写法,可以看到需要上面4个步骤.
?
首先我们创建一个.h头文件.
?
然后我们再去创建一个.cpp文件
?
可以看到我们把.h文件和.cpp文件都创建好了
?
然后我们在.h文件中,写上,函数的声明
?
然后我们在.cpp文件写上这个函数,但是可以看到会报错对吧.
?
可以看到会报错,这个时候我们,在.cpp文件最上面
要引入 #include "swap.h" 要引入这个.h头文件
?
上面还是报错,我们需要在.h文件中,最上面导入
#include <iostream>
然后还要加上
using namespace std; 这个是必须加上的,这个是个,命名空间,后面会说
?
可以看到在.h文件中,引入了#include <iostream>
using namespace std;以后,在.cpp文件中不报错了
?
然后我们在有main函数的cpp文件再去用这个,swap.h文件的时候
要注意,用的时候,就需要这样swap.h,引入这个.h文件就可以了.
?
?
可以看到,上面只需要导入
#include "swap.h"
就可以使用这个函数了.