C++类成员的初始化顺序是什么

   2024-10-01 9750
核心提示:在C++中,类成员的初始化顺序是按照它们在类中声明的顺序进行的,而不是按照初始化列表中的顺序。在类的构造函数中,初始化列表

在C++中,类成员的初始化顺序是按照它们在类中声明的顺序进行的,而不是按照初始化列表中的顺序。在类的构造函数中,初始化列表中的成员变量的初始化顺序并不会影响实际初始化顺序,而是按照它们在类中声明的顺序进行初始化。

例如,考虑以下示例代码:

#include <iostream>class MyClass {public:    MyClass(int a, int b) : b_(b), a_(a) {}    void print() {        std::cout << "a: " << a_ << ", b: " << b_ << std::endl;    }private:    int a_;    int b_;};int main() {    MyClass obj(10, 20);    obj.print();    return 0;}

在上面的示例中,类MyClass中有两个成员变量a_b_,它们的初始化顺序是按照它们在类中声明的顺序进行的,而不是按照构造函数的初始化列表中的顺序。因此,a_会先于b_被初始化,即使在构造函数的初始化列表中把b_放在了a_前面。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号