子类进行构造函数之前,必须先运行父类构造函数。
子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法
- 父类 没有写出构造函数或者有一个无参数的构造函数,子类构造函数可以不用对父类初始化,即忽略父类的构造函数,
- 父类的构造函数全是有参数的,子类必须至少实现一个父类的构造函数,例如Qt中常见的:
explicit MainWindow(QWidget* parent=0);
MainWindow::Mainwindow(QWidget* parent):
QMainWindow(parent),
ui(new Ui::MainWindow)
这种方式解决的问题是:使用A类创建一个对象后,怎样初始化它从类B中继承过来的数据成员?(父类的构造函数是不能被继承的)
这种代码的具体格式:
派生类::派生类构造函数(总参数列表):基类