UE4和C++ 开发-头文件(.h) 和实现文件(.cpp)区别

news/2024/12/21 22:07:33/

.h文件和.cpp文件是C++程序中的两种不同类型的文件。

.h文件通常包含类、函数和变量的声明,

而.cpp文件包含这些声明的实现。

.h文件中的声明通常是公共的,可以被其他文件包含和使用。.cpp文件中的实现通常是私有的,只能在该文件中使用。

在编译时,.h文件被包含到.cpp文件中,以便编译器可以检查函数和变量的声明是否正确,并将它们与实现匹配。

1、简单讲,一个Package就是由同名的.h和.cpp文件组成。当然可以少其中任意一个文件:
只有.h文件的Package可以是接口或模板(template)的定义;
只有.cpp文件的Package可以是一个程序的入口。

2、.cpp是C++文件的扩展名,.cpp主要是进行函数定义的,类中函数的声明和调用是在.h中的,.h文件主要是把函数进行封装,在写很多代码的时候,用上.h有很好的作用,这时候我们只要给对方公司*.h文件就行了,这样既提供了必要的信息,又保护了我们的核心代码。在.cpp中对.h文件进行调用时,要用#include.xxxh。建议按照**.h *.cpp配对分开写。

3、.cpp内用于:
(1)函数实现(包括全局函数(默认)、静态函数)。
(2)全局变量、静态变量定义。
(3)静态函数声明,静态变量声明。(指定编译单元内部使用的函数和变量)

4、.h内用于:
(1)全局函数声明,注意静态函数不包括在内。
(2)全局变量声明,无静态变量。

三、总结:
头文件(.h)主要用于声明函数和类的接口,不包含具体实现代码。
源文件(.cpp)主要用于实现头文件中声明的函数和类的具体代码。
将声明和实现分开,可以使得代码结构更加清晰,有助于提高代码的可维护性和可读性。同时,头文件的存在使得多个源文件可以共享和重复使用同一组声明,提高了代码的模块化和复用性。


http://www.ppmy.cn/news/1150124.html

相关文章

ARM 10.12

设置按键中断,按键1按下,LED亮,再按一次,灭 按键2按下,蜂鸣器响。再按一次,不响 按键3按下,风扇转,再按一次,风扇停 src/key.c #include"key.h"//按键3的配…

Linux网络编程:UDP协议和TCP协议

目录 一. 对于端口号的理解 1.1 网络通信五元组 1.2 端口号的划分策略 二. 网络通信中常用的指令 2.1 netstat指令 2.2 pidof指令 三. udp协议 3.1 udp的概念及特点 3.2 udp协议端格式 3.3 对于面向数据报及应用层发送与读取数据的理解 四. tcp协议的概念及特点 五.…

C++课程总复习

一、c的第一条程序 1.cout cout >输出类对象&#xff0c;用来输出的&#xff0c;可以自动识别类型&#xff0c;所以不需要加格式符号 << 插入符&#xff08;输出符号&#xff09; endl 换行>\n #include <iostream> //#预处理 //include 包含 相应的头…

两数之和(Java版)

题目描述&#xff1a; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 …

【大数据】HDFS概述(学习笔记)

一、文件系统、分布式文件系统 1、传统文件系统 文件系统是一种存储和组织数据的方法&#xff0c;实现了数据的存储、分级组织、访问和获取等操作。 文件系统使用树形目录的抽象逻辑概念代替了硬盘等物理设备使用数据块的概念。 数据&#xff1a;指存储的内容本身。这些数据…

mybatis拦截器源码分析

mybatis拦截器源码分析 拦截器简介 mybatis Plugins 拦截器由于Mybatis对数据库访问与操作进行了深度的封装,让我们应用开发效率大大提高,但是灵活度很差拦截器的作用:深度定制Mybatis的开发抛出一个需求 :获取Mybatis在开发过程中执行的SQL语句(执行什么操作获取那条SQL语句…

Python还有什么赋值?Python赋值语句的多种形式

Python是一种强大且灵活的编程语言&#xff0c;其赋值语句的多样性是其特色之一。除了常见的变量赋值&#xff0c;Python还支持许多其他赋值方式&#xff0c;包括多重赋值、增量赋值以及解包赋值等。在本文中&#xff0c;我们将深入探讨Python中赋值语句的多种形式&#xff0c;…

网络安全(黑客技术)—自学手册

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…