C++ 将多个 header 连接到一个 header 并使用这些 header 函数

标签 c++ header

伙计们,我有一个问题,我不知道如何在一个 header 中连接多个 header ,我们称它为“主 header ”并使用该 header 中的函数,例如

// 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");
}

最佳答案

I have a question, I don't know how can I connect many headers in one header, let's call it "Master header" and use functions from that headers,

创建文件并为所有其他头文件添加 #include 行。

MasterHeader.h:

#include "A.h"
#include "B.h"
#include "C.h"

c.cpp:

#include "MasterHeader.h"

警告:我一般不推荐这种做法。这仅在 "MasterHeader.h" 提供的接口(interface)是主要接口(interface)时才有用,"A.h""B.h"“C.h”服务于易于维护的目的。

关于C++ 将多个 header 连接到一个 header 并使用这些 header 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013504/

相关文章:

ios - UICollectionView 作为 iOS 中应用程序的 HEADER

php - header ("location:/?param=abc");包含有效参数并与所有浏览器兼容?

c++ - 当容器中的基本元素是 boost::tuple 时,为什么我不能使用 std::find?

c++ - 我正在尝试在失败的头文件中创建一个对象数组(启动 C++ 程序员)

c++ - 如何使用附加模块(highgui ...)为 Raspberry Pi 交叉编译 OpenCV

android - *** 没有规则可以使目标 `src/main/jni/Build.config' 。停止

javascript - hapi 在发送响应之前设置 header

angular - Angular 2 应用程序中没有 'Access-Control-Allow-Origin' header

c++ - OpenGL 文本随相机移动,纹理也表现出与专家建议相同的方式

c++ - 在以 Windows 为目标的 Delphi 应用程序中是否对对象引用计数?如果是,它的目的是什么?