阅读Qt代码的时候经常遇见这样一类代码:
QPlayer::QPlayer(QWidget *parent) :QMainWindow(parent)
QPlayer是一个类,“::”后面跟着的是一个构造函数。但是这个构造函数之后的“:”后面的QMainWindow(parent)该怎样去理解呢?
我们都知道在C++中,如果两个类A与B之间是继承关系,则A与B之间可以用“:”连接,但是类是没有参数的。因此QMainWindow(parent)是不能理解为类的。
如果不是类,那么最有可能的就是构造函数。现在假设QMainWindow(parent)为某类的构造函数,那么这个构造函数在这句代码中起到了什么作用呢?该怎么去理解这句代码?这个问题是我第一次碰到这句代码时在脑袋中产生的疑问(这属于C++的知识)。
C++中,通过继承可以使类形成一种层次关系。在层次关系的根部的称之为基类,它负责定义在层次关系中所有类共同的成员;直接或者间接的从基类继承而来的称作派生类