C++旧版课程库
C++第 2 期查看课程总览

060 函数 - 声明和实现的分离

主要内容

1. 什么是声明、什么是实现

一般,我们也将“函数签名”,称为“函数的声明”

int maxab(int a, int b);  // “函数签名”,也称为“函数的声明”

【基本结构】
返回类型 函数名 (形参1, 形参2, 形参3, ...)
一般,我们也将“函数签名”+“函数体”,称为“函数的实现” 其实,就是整个函数的完整定义。

int maxab(int a, int b)
{
    return a>b ? a:b;
}
请运行下面的代码。

#include < iostream >

int maxab(int a, int b); // 请尝试,假如没有这句语句,程序可以编译吗?

int main()
{
    int a, b;
    cin >> a >> b;
    
    cout << maxab(a,b);  // 调用
}

int maxab(int a, int b)
{
    return a>b ? a:b;
}
假如没有上述这句话,程序将无法通过编译。

2. 函数调用的规则

C++ 规定,被调用函数,必须声明于调用之前。 思考: 分离函数的声明,是不是让程序变得更长了?而且很多余呢? 函数声明的分离,其实和头文件息息相关。 我们将在后续章节,来告诉大家,头文件到底是何方神圣。

习题

课后练习