广东省建筑网站,看剧资源网站怎么做的,腾讯风铃做的网站有期限吗,动易网站管理系统教程1、非静态数据成员#xff1a;按它们在类定义的声明顺序初始化#xff0c;不会按它们在初始化列表的顺序。
2、静态数据成员#xff1a;在main函数启动之前#xff0c;并且只初始化一次
3、基类构造函数#xff1a;如果类从一个或多个基类继承而来#xff0c;基类的构造…1、非静态数据成员按它们在类定义的声明顺序初始化不会按它们在初始化列表的顺序。
2、静态数据成员在main函数启动之前并且只初始化一次
3、基类构造函数如果类从一个或多个基类继承而来基类的构造函数在子类的构造函数之前被调用
4、常量成员和引用成员必须在初始化列表中初始化
参考代码
class Base {
public:Base(int val) : base_val(val) {}
private:int base_val;
};class Derived : public Base {
public:Derived() : Base(10), a(5), b(a), c(15) {} // 基类Base先初始化private:int a; // 即使b在初始化列表中出现在a之前a也会先初始化int b;int c;
};
在这个例子中Derived类的构造函数首先调用base的构造函数然后按照成员变量声明的顺序(即a然后b最后c)来初始化即便在构造函数初始化列表中的顺序是不同的。
学习链接https://github.com/0voice