返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >EasyC++编写头文件
  • 258
分享到

EasyC++编写头文件

2024-04-02 19:04:59 258人浏览 八月长安
摘要

文章转自公众号:Coder梁(ID:Coder_LT) 我们之前做的左右示例都是在一个单独的cpp文件当中完成的,当我们要做一个相对复杂或大型的项目时,我们显然不能把所有代码都写在一

文章转自公众号:Coder梁(ID:Coder_LT)

我们之前做的左右示例都是在一个单独的cpp文件当中完成的,当我们要做一个相对复杂或大型的项目时,我们显然不能把所有代码都写在一个cpp里。这就需要我们拆分代码,但代码按照逻辑划分,写入不同的cpp文件当中。

在我们编译的时候,我们可以将这些cpp文件分别单独编译,最后再连接到一起。这样做的好处是,当我们只修改了某一个文件的时候,可以只用单独编译那一个文件,不会影响其他文件的编译结果。一般来说大型项目,都会使用一下自动化的编译工具,比如make等,不会手动执行编译过程,但对于这其中的一些细节,还是需要有所了解。

我们来看c++ primer当中提供的一个例子。

现在我们要实现一个将直接坐标转化成极坐标的功能,我们需要定义两个结构体分别表示直角坐标和极坐标,另外还需要实现从直接坐标到极坐标的转化。

显然相对于主体程序而言,这部分代码是独立的,所以我们可以把它们放入一个单独的cpp文件当中。首先要明确的是,main()函数和其他函数都用到了同一个结构体,因此两个cpp文件都需要包含该结构体的声明。显然拷贝代码是很糟糕的选择,比较好的做法是将结构体的声明写在头文件当中,通过#include语句引入。

这样的话整体的代码就分成三个部分:

  • 头文件:包含结构体声明、函数声明
  • coordin.cpp:包含坐标系转化相关的代码
  • main.cpp:主体程序

在之后面向对象的章节当中, 我们将会经常用到这样的代码结构。

对于头文件当中的内容有严格的限制,由于头文件可能会被多个cpp文件引入,所以我们不能将函数的实现或参数的定义放入头文件当中。因为同一个程序中包含同一个函数的多个定义会引发报错,参数同理。

只有以下内容可以写入头文件当中:

  • 函数原型(函数声明)
  • #defineconst定义的符号常量
  • 结构体声明
  • 类声明
  • 模板声明
  • 内联函数(inline

在同一个文件当中只能引入一个头文件一次,但有的时候由于引用依赖的原因,可能会导致重复引入。比如引入A和B头文件,B头文件中引入了A,导致A被引入两次。

为了解决这个问题,我们可以加入预编译指令#ifndef,含义是if not defined,判断某定义是否存在。只有当定义不存在时才会直接#ifndef#endif之间的语句:


#ifndef COORDIN_H_
// statements
#endif


一般情况下我们使用#define创建符号常量:


#define MAXI 4096


但由于这里我们只是用来区分是否引入,所以只需要名称即可:


#ifndef COORDIN_H
#define COORDIN_H
// todo
#endif


这样,当引入一次之后,COORDIN_H即被定义,那么下次就不会再执行这段代码。

最后,我们写出完整的头文件代码:

#


ifndef COORDIN_H__
#define COORDIN_H__

struct polar {
    double distance, angle;
};

struct rect {
    double x, y;
};

polar rect_to_polar(rect xpros);
void show_polar(polar dapos);

#endif

到此这篇关于C++编写头文件的文章就介绍到这了,更多相关C++编写头文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: EasyC++编写头文件

本文链接: https://lsjlt.com/news/160113.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • EasyC++编写头文件
    文章转自公众号:Coder梁(ID:Coder_LT) 我们之前做的左右示例都是在一个单独的cpp文件当中完成的,当我们要做一个相对复杂或大型的项目时,我们显然不能把所有代码都写在一...
    99+
    2024-04-02
  • C++怎样编写头文件
    今天就跟大家聊聊有关C++怎样编写头文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们之前做的左右示例都是在一个单独的cpp文件当中完成的,当我们要做一个相对复杂或大型的项目时,...
    99+
    2023-06-22
  • c语言头文件如何编写
    c 语言头文件编写指南:使用 .h 扩展名。使用头文件保护防止多次包含。使用 #include 包含其他头文件。声明函数原型,包括函数名、参数类型和返回值类型。定义结构体,包括成员变量和...
    99+
    2024-05-22
    c语言
  • 从头学Python之编写可执行的.py文件
    Python可是真强大。但他具体是怎么强大的,让我们一点一点来了解吧(小编每天晚上下班回家会抽时间看看教程,多充实下自己也是好的)。 废话不多说,就讲一下这个背景吧: 事情是这个样子的~本着好学的精神,咱就...
    99+
    2022-06-04
    可执行 文件 Python
  • c++中string的头文件怎么写
    包含 c++ 中的 string 头文件:#include ,放置在文件顶部其他包含语句之前。包含头文件后,可访问 string 类并开始使用它。 string 头文件在 C++ 中的...
    99+
    2024-05-11
    c++ 标准库
  • 怎么编写html文件
    这篇文章给大家分享的是有关怎么编写html文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 编写html文件的方法:首先创建一个txt文件,将编辑器...
    99+
    2024-04-02
  • python编写execl文件方法
    1. 安装xlwt模块1)下载地址https://pypi.python.org/pypi/xlwt#downloads2)安装方法tar zxvf xlwt-1.1.2.tar.gzcd xlwt-1.1.2python setup.py...
    99+
    2023-01-31
    文件 方法 python
  • 如何编写 Golang 文件读写函数?
    go 语言通过 i/o 库高效进行文件读写。要读文件,使用 readfile 返回字节数组;写文件则使用 writefile 写入字节数组。此外,go 还支持其他 i/o 操作,如:打开...
    99+
    2024-05-15
    golang
  • php文件用哪些软件编写
    这篇文章主要介绍了php文件用哪些软件编写,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hype...
    99+
    2023-06-14
  • 使用Python读写文本文件及编写简单的文本编辑器
    学习raw_input和argv是学习读取文件的前提,你可能不能完全理解这个练习,所以认真学习并检查。如果不认真的话,很容易删除一些有用的文件。 这个练习包含两个文件,一个是运行文件ex15.py,一个是e...
    99+
    2022-06-04
    编辑器 文本文件 文本
  • pthread.h头文件
    文章目录 简介pthreads库中定义的函数a. pthread_create: 用于创建新线程b.pthread_exit: 用于终止线程c. pthread_join: 用于等待线程终止d...
    99+
    2023-09-05
    c语言 服务器
  • VS2019中在源文件中如何使用自己写的头文件
    目录前言开始教程建立一个头文件建立头文件对应的.cpp文件在其余源文件中使用前言 一个完整的头文件应该分为:.h文件与.cpp文件 一般来说函数的声明,类(结构体)的定义都是放在....
    99+
    2024-04-02
  • matlab如何编写函数文件
    要编写一个函数文件,你需要使用MATLAB的编辑器。以下是编写函数文件的步骤:1. 打开MATLAB的编辑器。你可以通过点击主窗口工...
    99+
    2023-10-10
    matlab
  • 怎么编写RPM的spec文件
    这篇文章将为大家详细讲解有关怎么编写RPM的spec文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通常,供Linux使用的源代码包还提供一个名为 { 软件名称 }.spec 的文件,即spec文件。如...
    99+
    2023-06-27
  • python编写文件统计脚本
    python编写文件统计脚本 思路:用os模块中的一些函数(os.listdir()、os.path.isdir()、os.path.join()、os.path.abspath()等) 实现功能:显示多级目录,以及自己要找的具体文件类型...
    99+
    2023-01-30
    脚本 文件 python
  • RPM 的 spec文件如何编写
    这篇文章给大家介绍RPM 的 spec文件如何编写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这里深入研究了 spec 文件,该文件中包含了有关如何构建 RPM 的指令。了解源代码在开始编写 spec 文件之前,你需...
    99+
    2023-06-05
  • linux下socket编程常用头文件(推荐)
    sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 n...
    99+
    2022-06-04
    头文件 常用 linux
  • 解决缺少sql头文件编译错误
    bn@YL-RD:~/projects/bsdr$ makeg++ -Wall -g -std=c++11 -I/usr/include/mysql   -c -o producer.o...
    99+
    2024-04-02
  • CMake编译中的库文件和头文件链接是什么
    这篇文章主要介绍了CMake编译中的库文件和头文件链接是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CMake编译中的库文件和头文件链接是什么文章都会有所收获,下面我们一起来看看吧。外部库文件、头文件链接...
    99+
    2023-06-29
  • 踏上 Python 文件操作之旅:编写、编辑和删除文件
    ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作