1、Qt中自动生成的构造函数
(1)Qt中自动生成的构造函数的声明
class Chat : public QWidget
{
Q_OBJECT
public:
explicit Chat(QWidget *parent = 0); //声明构造函数,可以带有初始值“=0”,表该参数为默认参数且调用时该参数可省略
~Chat();
private:
Ui::Chat *ui;
};
其中 “explicit Chat(QWidget *parent = 0);”为声明的构造函数,QWidget *parent = 0代表该参数为默认参数且调用时该参数可省略,即调用时该函数可以没有实参。
(2)Qt中自动生成的构造函数的定义
Chat::Chat(QWidget *parent) : //构造函数的定义,注意不能带有初始值“=0”
QWidget(parent),
ui(new Ui::Chat)
{
ui->setupUi(this);
}
其中,构造函数:Chat::Chat(QWidget *parent) : QWidget(parent),ui(new Ui::Chat){......}形式中,“::”前的Chat表示类名,“::”后的Chat为成员函数,其名称与类相同,表示该类的构造函数,(QWidget *parent)为该构造函数的参数,注意在定义时参数中不能带有初始值“=0”,只能在声明的时候有。“:”之后的部分为构造函数的初始化参数列表,其中QWidget(parent)为派生类Chat显式调用父类QWidget的构造函数,并传参,调用顺序是先调用父类构造函数,再调用派