我正在创建一个 Qt GUI,它将为用户生成一些表单,让他们填写,然后将表单保存在二叉搜索树中,然后将其序列化。这是使用 Qt(显然)、c++ 和 boost 完成的。GUI 是此时与应用程序的唯一界面。我想在 GUI 之外实例化我的二叉搜索树对象,因为在主 GUI 类中创建它似乎是一种糟糕的设计模式。这个想法正确吗?
这是我main()
现在的情况:
int main (int argc, char *argv[])
{
QApplication app(argc, argv);
ChocAnGui *gui = new ChocAnGui;
gui->show();
return app.exec();
}
有没有办法创建一个ChocAnGui
类可以使用的 BST 对象,但它存在于实际的 GUI 之外?我想做类似的事情:
int main (int argc, char *argv[])
{
MyBST bst = new MyBST;
MyRecord record = new MyRecord;
QApplication app(argc, argv);
ChocAnGui *gui = new ChocAnGui;
gui->show();
return app.exec();
}
然后我希望 GUI 能够从内部调用MyBST
和MyRecord
类的方法。因为在应用程序的开始和结束时我正在序列化和反序列化数据,这似乎是最抽象的方法(相对于从 GUI 代码本身进行序列化和反序列化)。我希望这个问题很清楚......我正在学习所有这些东西。有没有办法通过这些变量QApplication(argc, argv)
?最终,记录和 BST 类将被构建到数据库中,同样,在 GUI 之外创建实例似乎最简单。感谢您提供的任何意见。