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;
...