在另一个类中创建对象类,并在Base类中调用创建的类

时间:2015-03-20 09:13:43

标签: c++ c++11

我有几个类,其中一个是 MainClass 类。

class MainClass {
public:

    MainClass() {
    }


    void start() {
        foo1.start();
        foo2.start();

    }

private:
    First foo1; //I would like have here reference to First
    Second foo2; // and Second class
};

这是我的 First 类。 Second 类与 First 相同。

class First {
public:

    First() {
    }

    void start() {
        std::thread(&First::receive, this);
    }

    void receive() {
        //...
    }
};

在主要功能中我有这个:

    int main(){
        MainClass object;
        object.start();
    }

我希望在 MainClass 对象运行时,从 First Second 类运行 start()方法创建并在此对象上调用 start()方法。

我收到错误:

error: field ‘foo1’ has incomplete type
error: field ‘foo2’ has incomplete type

但如果我指向第一和第二:

...
First *foo1;
Second *foo2;
...

程序在我在控制台中运行程序时成功编译我得到"分段错误"。

0 个答案:

没有答案