对于长篇大论的标题感到抱歉,通过一个例子,这更有意义。
假设我们有一个A类:
class A {
public:
void someFunction();
void someOtherFunction();
};
另一个私有继承自A的类。但是,我们将一个继承的函数重新声明为public:
class B : private A {
public:
A::someFunction;
}
当Doxygen处理此代码时,它无法识别类B中someFunction的公共声明。相反,它将someFunction显示为私有继承的函数。这是不正确的。
有人知道如何解决这个问题吗? 干杯
答案 0 :(得分:0)
我无法发表评论,所以我会将此作为答案发布。
当你在C ++中进行私有继承时,它是组合或聚合的变体。它就像一个“汽车 - 有一个 - 引擎”的关系,所以也许Doxygen在这种语法方面有问题。你可以稍微改变一下,以获得良好的公共继承或真正的组合。
如果您想了解有关私有和受保护继承的更多信息:http://www.parashift.com/c++-faq-lite/private-inheritance.html
希望它有所帮助!