gpt4 book ai didi

C++ 多重继承三角形

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:18 24 4
gpt4 key购买 nike

这样的继承树有没有问题:

Parent ---- Subject
| /
| /
Child --/

或者在代码中:

class Subject
{
public:
void AddObserver( Observer *aObserver );
protected:
ObserversList mObserversList;
};

class Parent: public Object,
public virtual Subject
{
};

class Child: public Parent,
public virtual Subject
{
};

最佳答案

在编译方面,这种继承没有问题。因为 Child 的两个基都是 virtual 继承的。

唯一必须知道的是,在构建 Parent() 时,构建的顺序是Subject(),然后是对象()。同样的事情适用于 Child()。顺序将是 Subject()Object()Parent()

关于C++ 多重继承三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13205609/

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