动机假设我正在写一个Tree类(class)。我将用Tree::Node表示树的节点类(class)。该类的方法可能返回Tree::Node对象并将它们作为参数,例如获取节点父节点的方法:NodegetParent(Node).我还想要一个SpecialTree类(class)。SpecialTree应该扩展Tree的接口(interface)并且可以在任何地方使用Tree是。在幕后,Tree和SpecialTree可能有完全不同的实现。例如,我可能会使用图书馆的GraphA类来实现Tree,所以Tree::Node是GraphA::Node的薄包装器或typedef.另一方面,Spe