如何在另一个类中使用一个类? 我正在开发一个QT应用程序,我对C++很陌生。我想做的是,创建一个类作为变量,然后使用另一个类的内容
我的结构和我试图做的事情,由-->和表示,您有一个很好的开始,但是由于您的如何在另一个类中使用一个类? 我正在开发一个QT应用程序,我对C++很陌生。我想做的是,创建一个类作为变量,然后使用另一个类的内容,c++,qt,C++,Qt,我的结构和我试图做的事情,由-->和表示,您有一个很好的开始,但是由于您的BHSettings类有一个非默认构造函数,为了将其作为成员变量,您应该将其初始化到构造函数的初始化列表中 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), settings(qApp->applicationDirPath() + "/settings.ini") <
BHSettings
类有一个非默认构造函数,为了将其作为成员变量,您应该将其初始化到构造函数的初始化列表中
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow),
settings(qApp->applicationDirPath() + "/settings.ini") <--
{
ui->setupUi(this);
}
MainWindow::MainWindow(QWidget*父项):
QMainWindow(父级),
ui(新ui::主窗口),
设置(qApp->applicationDirPath()+“/settings.ini”)设置UI(此);
}
不能在类声明中将其初始化为内联声明或类似的操作
还请注意,这将导致每次实例化
main窗口class时初始化设置对象(即构建的BHSettings
对象),而不使用初始化代码在类定义中声明成员
BHSettings settings;
在类的构造函数中添加初始化代码
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow),
settings(qApp->applicationDirPath() + "/settings.ini")
{
ui->setupUi(this);
}
您可以使用:
void MainWindow::doSomething() {
settings.loadSettings();
}
如果您不需要在该功能之前进行设置。如果有意义,您也可以在构造函数中调用它。在MainWindow类中,定义变量:
public:
BHSettings settings;
在构造函数中,初始化此成员:
MainWindow::MainWindow(QWidget *parent) : ... , settings(qApp->applicationDirPath() + "/settings.ini")
{
...
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow),
settings(qApp->applicationDirPath() + "/settings.ini")
{
ui->setupUi(this);
}
void MainWindow::doSomething() {
settings.loadSettings();
}
public:
BHSettings settings;
MainWindow::MainWindow(QWidget *parent) : ... , settings(qApp->applicationDirPath() + "/settings.ini")
{
...
}