【发布时间】:2014-07-11 20:53:18
【问题描述】:
Doxygen 有一个非常简洁的功能,它可以从代码生成继承图。但是,当从具有公共基类的类中使用多重继承时,该图显示了两个单独的基类(即使我使用的是虚拟继承,如基类周围的虚线所示)
我怎样才能让 Doxygen 的情节更像下面这样。 . .
D
/ \
B C
\ /
A
而不是:(就像没有虚拟继承一样)
D
/ \
B C
| |
A A
【问题讨论】:
-
你知道,我很久以前就赞成并收藏了它,但我越想它,我就越认为 doxygen 实际上就在这里,因为 D 将有 2 个 A 实例。
-
如果通过
class B : public virtual A {}虚拟继承,则不会有2个A实例 -
在 Ubuntu 18.04.3 上,使用 doxygen/doxywizard 1.8.13,我对“内置类图生成器”有同样的问题。如果我使用
dot(即graphviz(dot)版本2.40.1)来生成图表,那么我会得到一个合适的菱形,但是我失去了阴影/虚线轮廓,表明最顶层的类实际上已经被继承了。很烦人。
标签: c++ doxygen multiple-inheritance virtual-inheritance diamond-problem