C++11之array数组基础学习
[TOC]
概述
1 | // 冒号后面跟的是赋值,这种写法是C++的特性。 |
构造函数与冒号
构造函数后加冒号是初始化表达式:
下面三种情况下应该使用初始化表达式来初始化成员:
1:对父类进行初始化
2:对类成员进行初始化
3:对类的const成员变量进行初始化
使用介绍
1.对父类进行初始化
调用格式为“子类构造函数 : 父类构造函数”,如下,其中QMainWindow是MyWindow的父类:
1 | MyWindow::MyWindow(QWidget* parent , Qt::WindowFlags flag) : QMainWindow(parent,flag) |
2.对类成员进行初始化
调用格式为“构造函数 : A(初始值),B(初始值),C(初始值)……”,如下,其中A、B、C分别是类的成员变量:
1 | class Rectangle //头文件中类定义 |
当然,上面构造函数的实现与下面的写法等价
1 | Rectangle::Rectangle(int pointX, int pointY, int Width, int Length)//源文件中构造函数实现 |
3.对类的const成员变量进行初始化
由于const成员变量的值无法在构造函数内部初始化,因此只能在变量定义时赋值或使用初始化列表赋值。
对于2、3中的应用场景,有以下两点说明:
1、构造函数列表初始化执行顺序与成员变量在类中声明顺序相同,与初始化列表中语句书写先后无关。
2、相对于在构造函数中赋值,初始化列表执行效率更高。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus