#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QWidget>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
setFixedSize(200, 120);
QPushButton *quit = new QPushButton(tr("Quit"), this);
quit->setGeometry(62, 40, 75, 30);
quit->setFont(QFont("Times", 18, QFont::Bold));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}
对于此行:
MyWidget(QWidget *parent = 0);
为什么我们需要在这里放置= 0
? 最佳答案
它称为Default parameter
基本上,您是说除非您传递另一个值,否则函数(或本例中的构造函数)将被调用,并且parent为0。
当您将MyWidget(QWidget *parent);
作为构造函数时,您必须像MyWidget widget(0);
那样调用它
关于c++ - C++构造函数问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5281517/