A Forest, Not a Tree
Classes in C++ are not part of a single hierarchy.
If a class is not defined as inheriting from another class, it is the root of its own hierarchy and provides only the behavior defined by the class description.
A typical C++ program contains a number of different class hierarchies, each independent of the others.