gpt4 book ai didi

c++ - C++的多重继承是如何实现的?

转载 作者:IT老高 更新时间:2023-10-28 21:47:25 24 4
gpt4 key购买 nike

单继承很容易实现。例如,在 C 中,继承可以模拟为:

struct Base { int a; }
struct Descendant { Base parent; int b; }

但是对于多重继承,编译器必须在新构建的类中安排多个父级。是怎么做到的?

我看到的问题是: parent 应该安排在AB还是BA,或者甚至其他方式?然后,如果我进行类型转换:

SecondBase * base = (SecondBase *) &object_with_base1_and_base2_parents;

编译器必须考虑是否改变原始指针。虚拟机也需要类似的棘手操作。

最佳答案

以下来自 C++ 创建者的论文描述了多重继承的可能实现:

Multiple Inheritance for C++ - Bjarne Stroustrup

关于c++ - C++的多重继承是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1002503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com