定义自己的头文件
定义类为了方便起见,一般不在某个函数内部去定义。要在不同文件中使用同一个类,类的定义就必须保持一致。因此考虑拆分一个类,在头文件内声明类和其中的成员函数,在源文件中写该类的实现。
头文件内可以包含其他头文件。
头文件的名称
名称必须与类名一致。自己编写的头文件使用“”来表示。
头文件的重复包含问题 #ifdef #endif 预处理器
头文件中大多包含的是只能定义一次的实体,如类等。每include(调用)一次头文件就会对这些实体定义一次。但是在一个程序中,这些实体只能被定义一次,因此需要有一个方法来确保这些实体只被定义一次,即该头文件只被包含一次。
如一个头文件中要定义字符变量成员,则我们必须包含string头文件。在后续的程序中,我们调用这个头文件,为了能操作该字符变量成员,我们还需要再在本程序当中调用一次string头文件,这样就会导致类被重复定义。
解决此问题的方式包括预处理器和头文件保护符。预处理器是在编译之前执行的一段程序,当他看到#include时,就执行预处理功能,用头文件代替#include。
头文件保护符就是#ifdef #endif #ifndef。其基本写法如下所示:
如上图所示:如果我们的程序是第一次include这个头文件,则执行define -> 方块 -> endif中的内容。第二次再include时,就不会执行这其中的内容。即我们在头文件的编写过程中按照上述格式去写,在之后的程序中想include多少次都可以。
头文件的格式
按类生成一个头文件
头文件中各成员函数只用包含各自的声明即可,不需要写其实现。其他的部分如class、public关键字、成员属性均应保存。
#pragma once是为了防止头文件被重复包含。
头文件的尾缀为 .h
如果在一个类头文件中使用了其他的类,则应在程序开头包含定义这些其他类的头文件。同理,在使用这些类的文件中均应包含这些类的头文件。
按类生成一个源文件
首先要包含生成的类头文件。其次不需要再包含class、public等关键字,也不需要再包含成员属性。只需要包含各成员函数的实现方法即可。由于各函数是属于成员函数的,因此需要告诉是属于哪个作用域下的,即要说明是属于哪个类的。
源文件的后缀为 .cpp。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)