c++子类中变量初始化顺序
时间: 2023-09-04 12:01:04 浏览: 157
C++ 成员变量的初始化顺序问题详解
在C++中,子类的变量初始化顺序遵循以下规则:
1. 父类的构造函数先于子类的构造函数执行,所以父类的成员变量先于子类的成员变量进行初始化。
2. 成员变量的初始化顺序按照它们在类中被声明的顺序进行,而不是它们在构造函数初始化列表中的顺序。
3. 如果父类和子类都有同名的成员变量或者函数,则子类的成员变量将隐藏父类的同名成员变量。在构造函数初始化列表中,如果需要初始化父类的同名成员变量,可以使用作用域解析运算符“::”来引用父类的成员。
总结起来,子类中变量的初始化顺序是先父类后子类,然后按照成员变量在类中的声明顺序依次初始化。需要注意的是,如果存在同名成员变量或函数,子类的成员将隐藏父类的同名成员。
阅读全文