在创建QT的项目的时候或者参照别人的例子的时候会发现在类中构造函数的定义声明中有如下:
在h文件中:
class
MainWindow
:
public
QMainWindow
{
Q_OBJECT
public
:
MainWindow
(
QWidget *parent= 0)
;//MainWindow不会作为任何控件的子部件;
~
MainWindow
(
)
;
}
;
在对应的c文件中:
MainWindow
::
MainWindow
(
QWidget *
parent
)
:
QMainWindow
(
parent
)
{}
{}
遇到上面的情况自己有点蒙圈,到底构造函数后面的:代表什么含义?
构造函数后面冒号有如下几种情况:
1.构造函数后面带自己的成员变量具有初始化成员变量的作用;
2.构造函数后面跟父类的构造函数,这样的话子类的构造函数在调用的时候系统就会调用父类的带参数的构造函数去构造对象。
在查找资料的过程中有一个比较不错的地址:
http://www.cnblogs.com/shmilxu/p/4849097.html