我如何拆分 fltk 代码和定义

how do i split up fltk code and definitions

这是我的第一个 C++ 项目。我有 1600 行代码,大部分都包含在使用 FLTK 小部件的包含文件中,我想按照我一直看到的推荐方式拆分 class 定义和代码。我已经尝试了很多次来找出发生了什么,但我总是遇到编译器错误。

我一直在尝试使用下面的一些示例代码。我需要它做的就是编译并显示 window.

main.cpp

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include "mybox.h"

int main(int argc, char *argv[]) {

    Fl_Window *w = new Fl_Window(100, 100, 300, 300);
    mybox *b = new mybox(110, 110, 100, 100);
    end();
    b->show();
    return Fl::run();
}

mybox.h

#ifndef MYBOX_H
#define MYBOX_H
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include "mybox.h"

class mybox : public Fl_Box {
public:
    mybox(int x, int y, int w, int h, const char *lbl) : Fl_Box(x, y, w, h, lbl) {}
};

#endif // MYBOX_H

mybox.cpp

#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include "mybox.h"

mybox::mybox(int x, int y, int w, int h, const char *lbl) : Fl_Box(x, y, w, h, lbl){}

我看到很多关于原型重新定义的错误;缺少原型; bar 之前预期 foo 等。有人可以赐教吗? -戴夫

您将构造函数的定义放在两个地方,因此您需要从此处删除它:

class mybox : public Fl_Box {
public:
    mybox(int x, int y, int w, int h, const char *lbl); // removed
};