可能重复:
What does a colon following a C++ constructor name do?这是什么语法?
我发现这个语法用C奇怪++
TagDetails::TagDetails(QWidget *parent) :
QDialog(parent),
ui(new Ui::TagDetails)
这在C的构造函数声明++ ......这是什么东西后冒号代表,即ui(new Ui :: TagDetails)在这里表示什么?什么是冒号?
可能重复:
What does a colon following a C++ constructor name do?这是什么语法?
我发现这个语法用C奇怪++
TagDetails::TagDetails(QWidget *parent) :
QDialog(parent),
ui(new Ui::TagDetails)
这在C的构造函数声明++ ......这是什么东西后冒号代表,即ui(new Ui :: TagDetails)在这里表示什么?什么是冒号?
这是一个member initialization list。
ui(new Ui::TagDetails)
表示将成员变量ui
用指向Ui::TagDetails
类型的新分配对象的指针进行初始化。
你正在看的是一个初始化列表。该类的ui
成员初始化值为new Ui::TagDetails
,其中TagDetails
在类或名称空间Ui
内定义。
并注意您应该使用成员初始化列表来初始化所有属性和基类。 – 2010-11-09 16:38:49
@Let_Me_Be:是的,先生! =) – vitaut 2010-11-09 16:44:23
只是一个问题。你在哪本参考书中找到了这个? – chai 2010-11-10 05:12:28