当前位置:首页 C++ > 正文

c++多继承构造函数调用顺序

作者:野牛程序员:2023-11-28 23:30:32 C++阅读 2800

在C++中,如果一个类通过多继承从多个基类继承,其构造函数的调用顺序是按照它们在派生类的继承列表中的顺序进行的。具体来说,构造函数的调用顺序是按照基类在派生类继承列表中的出现顺序从左到右进行的。

考虑以下示例:

#include <iostream>

class Base1 {
public:
    Base1() {
        std::cout << "Base1 Constructor" << std::endl;
    }
};

class Base2 {
public:
    Base2() {
        std::cout << "Base2 Constructor" << std::endl;
    }
};

class Derived : public Base1, public Base2 {
public:
    Derived() {
        std::cout << "Derived Constructor" << std::endl;
    }
};

int main() {
    Derived derivedObj;
    return 0;
}

在这个例子中,Derived 类从 Base1Base2 类继承。当创建 Derived 类的对象时,构造函数的调用顺序将是先调用 Base1 的构造函数,然后调用 Base2 的构造函数,最后调用 Derived 的构造函数。

程序的输出将是:

Base1 Constructor
Base2 Constructor
Derived Constructor

这说明了多继承情况下构造函数的调用顺序。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击