Javer 学 c++(七):函数篇

52 阅读2分钟

总览

主要讲了 c++ 中函数的声明、调用以及传递方式等

什么是函数?

  • 将一段经常使用的代码封装起来,减少重复代码
  • 一个较大的程序,通常分为若干模块,每个模块实现特定的功能

定义

#include <iostream>
using namespace std;

// 返回值类型 函数名(参数列表)
int add(int a, int b) {
    // 函数体语句
    int c = a + b;
    // return 表达式
    return c;
}

int main() {

    cout << add(1, 2) << endl;

    return 0;
}

值传递

这里很关键的一点在于 c++ 是值传递,也就是实参的值复制一份给了形参,形参的改变不会影响到实参

学到这里起码是这样的,后续涉及到对象和指针的时候不确定又不会有所不同

但是 Java 里也是值传递,但是传递的是对象地址的值,形参和实参会指向同一块内存空间,所以形参的修改会影响到实参

函数的声明

作用:告诉编译器函数的名称以及如何调用函数,函数的实际主体可以单独定义。

  • 函数的声明可以有多次,但是函数的定义只能有一次
#include <iostream>
using namespace std;

// 如果不声明,add 放到调用后是不可以的
// 声明就是告诉编译器,我这个函数是存在的,可以调用
int add(int a, int b);

int main() {

    cout << add(1, 2) << endl;

    return 0;
}

// 返回值类型 函数名(参数列表)
int add(int a, int b) {
    // 函数体语句
    int c = a + b;
    // return 表达式
    return c;
}

函数的分文件编写

作用:随着代码量的增大,我们不可能在一个文件里的非常多的代码,这样可读性非常差,需要份文件让代码结构更加清晰

步骤一:创建后缀名为 .h 的头文件

步骤二:创建后缀名为 .cpp 的源文件

步骤三:在头文件中进行函数声明

image.png

步骤四:在源文件中书写函数定义

image.png

调用

在调用函数的文件中引入函数头,直接调用即可

image.png