0

0

C++ 函数的声明、定义和调用之间的区别是什么?

WBOY

WBOY

发布时间:2024-08-14 13:33:03

|

1150人浏览过

|

来源于php中文网

原创

函数声明、定义和调用是三个不同概念:声明:告知编译器函数存在,指定名称、返回值类型和参数类型。定义:包含函数的代码实现,包括代码体。调用:告诉编译器运行函数,提供实参。它们的区别在于代码位置、包含内容和必需性。声明在头文件或 .cpp 文件中仅包含函数签名,定义在 .cpp 文件中包含签名和代码体,而调用在 .cpp 文件中仅包含函数名和参数,在使用结果时必须调用。

C++ 函数的声明、定义和调用之间的区别是什么?

函数的声明、定义和调用之间的区别

在 C++ 中,函数声明、定义和调用是三个不同的概念。理解它们之间的区别对于编写健壮、可维护的代码至关重要。

函数声明

函数声明是告诉编译器函数存在的一种方式。它指定了函数的名称、返回值类型和参数类型。函数声明如下所示:

立即学习C++免费学习笔记(深入)”;

类型 函数名(参数类型1, 参数类型2, ...);

例如:

BlessAI
BlessAI

Bless AI 提供五个独特的功能:每日问候、庆祝问候、祝福、祷告和名言的文本生成和图片生成。

下载
int addNumbers(int a, int b);

函数定义

函数定义是函数的实际实现。它包含了函数的代码体。函数定义如下所示:

类型 函数名(参数类型1, 参数类型2, ...) {
  // 函数体
}

例如:

int addNumbers(int a, int b) {
  return a + b;
}

函数调用

函数调用是一个语句,它告诉编译器运行特定函数。函数调用如下所示:

函数名(实参1, 实参2, ...);

例如:

int result = addNumbers(10, 20);

区别

特征 声明 定义 调用
目的 通知编译器 实现函数 执行函数
位置 头文件或 .cpp 文件 .cpp 文件 .cpp 文件
代码 仅包含函数签名 包含函数签名和代码体 仅包含函数名和参数
编译 在函数被调用之前 在函数被调用之前 在调用语句处
必需性 在调用函数之前必需 在调用函数之前必需 在使用结果时必需

实战案例

下面的代码展示了函数声明、定义和调用的实际应用:

// 头文件
class MyClass {
public:
  // 函数声明
  int addNumbers(int a, int b);
};

// .cpp 文件
#include "MyClass.h"

// 函数定义
int MyClass::addNumbers(int a, int b) {
  return a + b;
}

// 主函数
int main() {
  MyClass myClass;
  // 函数调用
  int result = myClass.addNumbers(10, 20);
  return 0;
}

在这个示例中,addNumbers 函数在头文件中声明,在 .cpp 文件中定义,并在主函数中调用。

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 11.8万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.1万人学习

NumPy 教程
NumPy 教程

共44课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号