Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在另一个类中创建对象类,并在基类中调用创建的类的方法_C++_C++11 - Fatal编程技术网

C++ 在另一个类中创建对象类,并在基类中调用创建的类的方法

C++ 在另一个类中创建对象类,并在基类中调用创建的类的方法,c++,c++11,C++,C++11,我有几节课,其中一节是主课 这是我的第一节课。第二节课和第一节课一样 在主要功能中,我有: int main(){ MainClass object; object.start(); } 我希望在创建MainClass对象后,从第一个类和第二个类运行start()方法,并在此对象上调用start()方法 我得到一个错误: error: field ‘foo1’ has incomplete type error: field ‘foo2’ has

我有几节课,其中一节是主课

这是我的第一节课。第二节课和第一节课一样

在主要功能中,我有:

    int main(){
        MainClass object;
        object.start();
    }
我希望在创建MainClass对象后,从第一个类和第二个类运行start()方法,并在此对象上调用start()方法

我得到一个错误:

error: field ‘foo1’ has incomplete type
error: field ‘foo2’ has incomplete type
但如果我指向第一个和第二个:

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

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

MainClass::start
是私有的。你不能这么说。在
MainClass
中使用它们之前,还必须先声明
First
Second
。话虽如此,你的问题是什么?什么不正常?可以看出,您可以随心所欲。我的错误是,start()方法应该是公共的。我更正并添加了更多信息。在MainClassI中使用它们之前,您还必须先声明第一个和第二个声明类;二等;在我使用它们的地方。那是因为转发声明是不够的。你看过我发布的工作示例了吗?
error: field ‘foo1’ has incomplete type
error: field ‘foo2’ has incomplete type
...
First *foo1;
Second *foo2;
...