【问题标题】:#include confusion and classes#include 混淆和类
【发布时间】:2010-02-04 10:53:08
【问题描述】:

我已经使用 Allegro API 和 C++ 制作了几款游戏。我也一直把我所有的课程放在 1 个大的 main.cpp 文件中。我多次尝试制作 .h 和 .cpp 文件,但我最大的问题是 #include 在正确的位置有问题。例如,我希望我的所有类都可以访问 allegro 库,而无需在任何地方使用 #include allegro.h。有人可以解释如何正确#include 的东西。在 .Net 中,一切似乎都融为一体,但在 c++ 中,一件事在包含之前是无法使用的。还有一种方法可以在我的整个程序中全局包含一些东西吗? 谢谢

【问题讨论】:

    标签: c++ class include


    【解决方案1】:

    我希望我的所有班级都可以访问 allegro 库,而无需在任何地方使用 #include allegro.h。

    为什么?这就是你在 C++ 领域的做法。

    有人可以解释如何正确#include 的东西。在 .Net 中,一切似乎都融为一体,但在 c++ 中,一件事在包含之前是无法使用的

    从概念上讲,在 .NET 中并没有太大的不同。您仍然必须将“使用”放在顶部。不同之处在于,在 .NET 中,如果您愿意,也可以每次都编写:

    void Foo( System.Drawing.Drawing2D.BitmapData bData ) { }
    

    【讨论】:

      【解决方案2】:

      执行此操作的常用方法是拥有一个主包含文件,其中包含以正确顺序包含所有其他文件。如果您使用预编译的标头,这会特别有效

      在 precomp.h 中

      #include <stdio.h>
      #include <allegro.h>
      .. etc.
      

      在 myfile.cpp 中

      #include "precomp.h"
      

      在 myfile2.cpp 中

      #include "precomp.h"
      

      等等。

      【讨论】:

        猜你喜欢
        • 2023-03-17
        • 2017-09-24
        • 1970-01-01
        • 1970-01-01
        • 2017-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-13
        相关资源
        最近更新 更多