C++ 将许多标头连接到一个并使用这些标头功能
Posted
技术标签:
【中文标题】C++ 将许多标头连接到一个并使用这些标头功能【英文标题】:C++ connect many headers to one and use those headers functions 【发布时间】:2015-01-18 18:55:25 【问题描述】:伙计们,我有一个问题,我不知道如何在一个标头中连接多个标头,我们称之为“主标头”并使用该标头中的函数,例如
// A.h
#include <iostream>
class A
public:
A();
void showMessage(string msg);
;
// B.h
class B
public:
B();
void CountMessages()
;
// C.h
#include "A.h"
#include "B.h"
class C : public B, public A
public:
C();
void DoSomething();
并且我想使用类“c”的对象和/或“a”类的对象从类“b”调用函数 CountMessages,例如
//c.cpp
#include "C.h"
#include "B.h"
#include "A.h"
extern A b_obj;
extern B a_obj;
C::DoSomething()
b_obj.CountMessages();
a_obj.showMessage("Hello");
【问题讨论】:
C++ class forward declaration 的可能重复项 【参考方案1】:我有一个问题,我不知道如何在一个标头中连接多个标头,我们称之为“主标头”并使用该标头中的函数,
创建文件并为所有其他头文件添加#include
行。
MasterHeader.h:
#include "A.h"
#include "B.h"
#include "C.h"
c.cpp:
#include "MasterHeader.h"
警告:我一般不推荐这种做法。这仅在"MasterHeader.h"
提供的接口是主要接口时才有用,"A.h"
、"B.h"
和"C.h"
服务于易于维护的目的。
【讨论】:
好吧,“C.h”就是“MasterHeader.h”,所以我应该将它包含到任何 cpp 文件中并调用我需要的所有函数?以上是关于C++ 将许多标头连接到一个并使用这些标头功能的主要内容,如果未能解决你的问题,请参考以下文章
无法使用私有 IP 地址连接到 GCP CloudSQL(CORS 错误预检缺少允许源标头)