C++如何让多个类文件共用一个头文件(ps.我把每个类都单独写一个文件) 20
2个回答
展开全部
如果你已建各类的 头文件:class1.h, class2.h,classi.h
例如,每个头文件里 各自定义 一句宏
class1.h 里有:
#ifndef H_class1
#define H_class1
头文件内容
#endif
class2.h 里有:
#ifndef H_class2
#define H_class2
头文件内容
#endif
classi.h 里有: 。。。。。
这样 主函数
#include "class1.h"
#include "class2.h"
...
便可。
例如,每个头文件里 各自定义 一句宏
class1.h 里有:
#ifndef H_class1
#define H_class1
头文件内容
#endif
class2.h 里有:
#ifndef H_class2
#define H_class2
头文件内容
#endif
classi.h 里有: 。。。。。
这样 主函数
#include "class1.h"
#include "class2.h"
...
便可。
更多追问追答
追问
等于说在主函数里全部声明?
追答
主函数里 可以 全部声明,也可以需要什么 #include 什么。写重复了没有关系。因为有了 前面说的 宏保护。 不会出现 变量和 函数 重复定义 的错误 (编译器会把需要的部分包含进来 1 次)。
例如:
如果你的 class2.h 里有 #include "class1.h"
主函数里 你 写 了 #include "class2.h", 那么 class1.h 也自动 包含进来了。
主函数若要用到 class1.h, 你可以 不写 #include "class1.h" ,因为 #include "class2.h" 已把 class1.h 也自动 包含进来了。你也可以 写上 #include "class1.h"。
因为 有了 前面说的 宏保护,不会出现 变量和 函数 重复定义 的 编译 错误。
多文件的编译问题,主要是 "重复定义" 。
=============
如果你觉得主函数里
#include "class1.h"
#include "class2.h"
。。
#include "classi.h"
#include "classn.h"
写得太多太难看,你可以把这段东西 放入 my.h 文件。
主函数里 写 #include "my.h" 就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |