c++ - 良好做法,包括源文件

标签 c++ boost include

我正在使用 boost msm 库(你不需要知道它是如何工作的)来编写我的状态机,我有一个 cpp 源文件组织问题。

在第一个源文件 (1.cpp) 中,我定义了状态机、事件和 Action 以及转换表,但我想在另一个 cpp 文件中定义状态,因为我需要大量编辑状态比状态机中的任何其他内容更频繁。

现在我所做的是在另一个源文件 (2.cpp) 中编写状态,并将 2.cpp 包含在 1.cpp 中

它编译和一切,但它一点也不干净,我想以某种方式封装它......有什么想法吗?

最佳答案

一般情况下,您只会包含 .h 文件,即声明类型的头文件和您将在关联的 .cpp 文件中实现的函数。您根本不需要包含实现文件。您是否创建了任何头文件?这是一个基本示例:

// Foo.h
class Foo {
    // note that it is not defined here, only declared
    public void some_function(int i);
};

// Foo.cpp
#include "Foo.h"
#include <iostream>

// implement the function here
void Foo::some_func(int i) {
    std::cout << i;
}

关于c++ - 良好做法,包括源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10220606/

相关文章:

c++ - 如果你想通过引用返回一个成员,定义它的最佳方法是什么?

c++ - C++ 中赋值运算符和 C 字符串的问题

c++ - 如何在没有条件的情况下更新直方图?

boost - 由于 lib 前缀,链接到 Boost 库失败

c++ - 库包含具有相同标题名称的路径

c++ - C++中的十进制到8位二进制转换

python - g++ -shared 参数似乎导致了段错误

c++ - 程序无法使用 g++ 编译

c++ - 引用您没有#include 的类 (C++)

c++ - Eclipse CDT 包括前缀为 'C:'