c++(16)编写自己的头文件

尽管类的定义可以在函数中进行,但是这样定义的类的使用却受到了很多的限制。所以累的定义一般都放在函数外面。

在各个源文件中,类的定义只有一次,并且有不同的源文件需要使用到这个类。为了保持类雷伊的一致性,类通常被定义在头文件中。

而且,类所在的头文件的名字应该和类名一样。

通常头文件包含哪些只能被定义一次的实体。比如,const和constexpr变量等。

头文件之间也许会相互之间需要使用。这是就需要用一个头文件去包含另一个头文件。如果出现头文件a.h和b.h都需要使用string.h的功能,但是b.h又需要使用a.h的功能,就会

出现重复包含string.h的情况。这时候就需要我们在书写头文件的时候做一些处理,以免被多次包含了。
预处理器

确保头文件多次包含仍能安全工作的常用技术是预处理技术,他是c++由c语言继承来的。

预处理器在编译之前执行一段程序,它可以部分的改变我们所写的程序。

之前我们已经用到的的预处理功能是#include,当预处理看到#include标记就会用指定的头文件内容代替#include。

c++程序还会用到的一项预处理功能是头文件保护符。

头文件保护符依赖于预处理变量#define,预处理变量有两种状态:已定义和未定义。

#define用来定义预处理变量。

#ifdef当且紧当预处理变量已经定义为真

#ifndef当且紧当预处理变量未定义为真

一旦检查结果为真则执行后续操作至#endif

创建Book.h文件

文件内容:

#ifndef BOOK_H
#define BOOK_H
#include <string>


struct Book{
	int bookId;
	string bookName{""};
	double revenue = {0};
};


#endif
这样的话第一次包含Book.h的时候就会定义预处理变量BOOK_H。下次就不会再包含book.h了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值