Derived Classes is one of the interactive graphs Understand can draw of your code — call trees, dependencies, control flow, and more.
Derived Classes
Languages: C#, C++, Python, WebTargets: Classes
Variants: Classic, Cluster, Compare, Relationship, Simplified
Show the classes that directly or indirectly inherit from a selected class.
For a selected class, struct, or interface, this shows an edge to each class that directly inherits from it, then recurses downward into each of those classes' own derived classes, building a multi-level tree of descendants.
Rooted at Vertebrate below, the graph shows edges to its two direct subclasses, Mammal and Bird, then continues into each of their own subclasses (Dog/Cat and Eagle/Hawk). The inverse graph, Base Classes, shows the reverse relationship — everything the selected class inherits from.
See the following code and corresponding graph
class Vertebrate {
public:
void describe() const;
void classify() const;
};
class Mammal : public Vertebrate {
public:
void describe() const override;
};
class Dog : public Mammal {
public:
void describe() const override;
};
class Cat : public Mammal {
public:
void describe() const override;
};
class Bird : public Vertebrate {
public:
void describe() const override;
};
class Eagle : public Bird {
public:
void describe() const override;
};
class Hawk : public Bird {
public:
void describe() const override;
};
Derived Classes - Classic
The Classic variant is similar to the Simplified variant, showing all relationships in a simple tree, but it uses a custom layout algorithm instead of Graphviz.
Derived Classes - Cluster
The Cluster variant groups entities by their containing class/file/architecture.
Derived Classes - Compare
The Compare variant shows how the graph has changed relative to the project's comparison database.
Derived Classes - Relationship
The Relationship variant filters the graph to only paths connecting the two entities.
Derived Classes - Simplified
The Simplified variant shows all relationships in a simple tree (no clusters)