当类私有地继承但函数再次声明为public时,Doxygen忽略继承的函数

时间:2010-04-22 00:14:30

标签: c++ documentation doxygen

对于长篇大论的标题感到抱歉,通过一个例子,这更有意义。

假设我们有一个A类:

class A {
    public:
        void someFunction();
        void someOtherFunction();
};

另一个私有继承自A的类。但是,我们将一个继承的函数重新声明为public:

class B : private A {
    public:
        A::someFunction;
}

当Doxygen处理此代码时,它无法识别类B中someFunction的公共声明。相反,它将someFunction显示为私有继承的函数。这是不正确的。

有人知道如何解决这个问题吗? 干杯

1 个答案:

答案 0 :(得分:0)

我无法发表评论,所以我会将此作为答案发布。

当你在C ++中进行私有继承时,它是组合或聚合的变体。它就像一个“汽车 - 有一个 - 引擎”的关系,所以也许Doxygen在这种语法方面有问题。你可以稍微改变一下,以获得良好的公共继承或真正的组合。

如果您想了解有关私有和受保护继承的更多信息:http://www.parashift.com/c++-faq-lite/private-inheritance.html

希望它有所帮助!