<html>
<head></head>
<body>
<p>Hello,</p>
<p>Please, I need some help with an issue I noticed a few days ago and I am not able to solve. </p>
<p>To illustrate my problem, I show this piece of code:</p>
<p>class A{<br />    public:<br />        A(): a(1) {};<br />        int a;<br />};<br /><br />class B: public A{<br />    public:<br />        B(): b(2){};<br />        int b;<br />};<br /><br />class C: public B{<br />    public:<br />        C(): c(3){};<br />        int b;<br />        int a;<br />};</p>
<p>We have three classes, where:<br/>
B  inherits directly from A<br/>
C  inherits directly from B and INDIRECTLY from A</p>
<p>Using CXXRecordDecl::base_class_iterator, the classes indirectly inherited are not visited. Please, can someone explain me how to take into account these indirectly inherited base classes? I've been thinking on recursion (use base_class_iterator on each class directly inherited), but I'm sure there should be another simpler way to do this.</p>
<p>Thanks in advance,</p>
<p>Pedro.</p>
</body>
</html>