类构造函数初始化
class constructor initialization?
我试图理解以下代码。(我正在学习c++)
class DefaultDevice : public Device {
public:
DefaultDevice() :
ui(new DefaultUI) {
}
private:
RecoveryUI* ui;
};
class DefaultUI : public ScreenRecoveryUI {
...
}
我很难理解ui(new DefaultUI)部分。据我所知,这是DefaultDevice()构造函数执行之前初始化的一部分。
然后,根据我的理解,它将使用new DefaultUI参数调用recoveryyui构造函数。但是,RecoveryUI类没有任何带有此类参数的构造函数。(很抱歉没有摆RecoveryUI类。它太长了:(如果有人感兴趣,它是Android开源代码)
这个'new DefaultUI'是做什么的?
如果这是一个有效的和工作的代码,似乎RecoveryUI
是DefaultUI
的基类。
ui(new DefaultUI)
创建一个对象并将其分配给ui
。
所以,ui
指向它的子对象
它不是在操作符之前运行,它是操作符的一部分。它被称为初始化列表,用于初始化类的(非静态)成员变量。
相关文章:
- 为什么std::vector和std::valarray初始化构造函数不同
- 初始化构造函数C++中结构的向量
- C++ 中常量属性的初始化构造函数错误
- 不正确的输出和变量未用Eclipse CDT初始化构造函数
- 如何使用嵌套初始化构造函数中的一维向量初始化矩阵
- 如何通过参数初始化构造函数中的数组?
- 是否有理由使用 malloc 初始化构造函数中的指针
- 如何在 c++ 中初始化构造函数中的二维数组
- 为什么初始化构造函数列表参数时会发生异常?
- 无法初始化构造函数
- 初始化构造函数的默认参数的优选方法是什么?
- 在C++17中使用空列表初始化构造函数时发生编译错误
- C++ 初始化构造函数初始化列表中的嵌套结构?
- 初始化构造函数c++中的向量
- g++ (GCC) 4.6.0 我有以下类,我正在尝试初始化构造函数的结构成员初始化列表
- 使用字符串文本初始化构造函数中的 std::array<char,x> 成员。海湾合作委员会错误?
- 初始化构造函数C++中函数的成员指针
- 在c++中初始化构造函数中的静态成员变量时出错
- memset()初始化构造函数中的对象
- 初始化构造函数C++中的成员向量