函数声明、定义和调用是三个不同概念:声明:告知编译器函数存在,指定名称、返回值类型和参数类型。定义:包含函数的代码实现,包括代码体。调用:告诉编译器运行函数,提供实参。它们的区别在于代码位置、包含内容和必需性。声明在头文件或 .cpp 文件中仅包含函数签名,定义在 .cpp 文件中包含签名和代码体,而调用在 .cpp 文件中仅包含函数名和参数,在使用结果时必须调用。
函数的声明、定义和调用之间的区别
在 C++ 中,函数声明、定义和调用是三个不同的概念。理解它们之间的区别对于编写健壮、可维护的代码至关重要。
函数声明
函数声明是告诉编译器函数存在的一种方式。它指定了函数的名称、返回值类型和参数类型。函数声明如下所示:
立即学习“C++免费学习笔记(深入)”;
1 |
|
例如:
1 |
|
函数定义
函数定义是函数的实际实现。它包含了函数的代码体。函数定义如下所示:
1 2 3 |
|
例如:
1 2 3 |
|
函数调用
函数调用是一个语句,它告诉编译器运行特定函数。函数调用如下所示:
1 |
|
例如:
1 |
|
区别
特征 | 声明 | 定义 | 调用 |
---|---|---|---|
目的 | 通知编译器 | 实现函数 | 执行函数 |
位置 | 头文件或 .cpp 文件 | .cpp 文件 | .cpp 文件 |
代码 | 仅包含函数签名 | 包含函数签名和代码体 | 仅包含函数名和参数 |
编译 | 在函数被调用之前 | 在函数被调用之前 | 在调用语句处 |
必需性 | 在调用函数之前必需 | 在调用函数之前必需 | 在使用结果时必需 |
实战案例
下面的代码展示了函数声明、定义和调用的实际应用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
在这个示例中,addNumbers 函数在头文件中声明,在 .cpp 文件中定义,并在主函数中调用。