【发布时间】:2022-11-10 01:48:17
【问题描述】:
我已经编写这个应用程序很长一段时间了,并且有这么多的功能,我一直试图避免聚集在一个代码块中。
我对 C++ 比较陌生,我想我了解头文件以及如何正确使用它们。但是我遇到了一个稍微复杂的问题,它涉及私有类。每当我尝试将这些函数放在不同的文件中并为它们制作标题时,我都会遇到很多错误。我想将 wxFrame 类保留在 main.cpp 文件中,但我还需要在文件外部定义其中的函数。我真的可以使用一些帮助。
主文件
class MyFrame : public wxFrame{
public:
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
private:
void Carfunc();
void Busfunc1();
void Busfunc2();
void Busfunc3();
总线函数.cpp
void MyFrame::Busfunc1(){
// do stuff here
}
void MyFrame::Busfunc2(){
// do stuff here
}
void MyFrame::Busfunc3(){
// do stuff here
}
CarFunctions.cpp
void MyFrame::Carfunc(){
// do stuff here
}
【问题讨论】:
-
你快要提出一个问题了......但是......它到底是什么?
-
您需要将
class MyFrame : public wxFrame{ ... };放在您的 cpp 文件包含的标头中。您不能在 main.cpp 中使用它并在其他 cpp 文件中使用它。请记住,您包括头文件,但不包括 .cpp 文件。 -
你得到什么错误? Edit 您的问题与您收到的确切错误消息。
-
为什么你想在
main.cpp中保留MyFrame的定义吗? -
也许你想要一个 class Bus { ...};和类汽车 { ...};而不是将所有代码放在 MyFrame / GUI 类中。