Qt中新建类构造函数的初始化参数列表

使用Qt-creator自动生成一个窗体应用程序时会自动创建一个新的类,我的程序中名为MyDialog,类的定义为:

复制代码
 1 #ifndef MYDIALOG_H
 2 #define MYDIALOG_H
 3 
 4 #include <QDialog>
 5 
 6 namespace Ui {
 7 class MyDialog;
 8 }
 9 
10 class MyDialog : public QDialog
11 {
12     Q_OBJECT
13 
14 public:
15     explicit MyDialog(QWidget *parent = 0);
16     ~MyDialog();
17 
18 private:
19     Ui::MyDialog *ui;
20 };
21 
22 #endif // MYDIALOG_H
复制代码

相应的构造函数为:

1  1 //构造函数
2  2 MyDialog::MyDialog(QWidget *parent) :
3  3     QDialog(parent),
4  4     ui(new Ui::MyDialog)
5  5 {
6  6     ui->setupUi(this);
7  }

其中,构造函数:MyDialog::MyDialog(QWidget *parent) : QDialog(parent),ui(new Ui::MyDialog){......}形式中,“::”前的MyDialog表示类名,“::”后的MyDialog为成员函数,其名称与类相同,表示该类的构造函数,(QWidget *parent)为该构造函数的参数。“:”之后的部分为构造函数的初始化参数列表,其中QDialog(parent)为派生类MyDialog显式调用父类QDialog的构造函数,并传参,调用顺序是先调用父类构造函数,再调用派生类的构造函数,若不写调用父类的默认构造函数。 ui(new Ui::MyDialog)表示使用类内初始值对ui进行初始化,这部分可以放到函数体中实现,成为:

1 MyDialog::MyDialog(QWidget *parent) : QDialog(parent)
2 {
3     ui = new Ui::MyDialog;
4     ui->setupUi(this);
5 }

 

posted @   selenite140  阅读(11501)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示