Make sure public inheritance models “is –a “
如果令clsss D 以public的形式继承class B,你便是告诉编译器说,每一个类型为D的对象同时也是一个类型为B的对象,反之不成立。你的意思是B比D表现出更一般化的概念,而D比B表现出更特殊化的概念。你主张"B"对象可以派上用场的任何地方,D对象一样可以派上用场。因为每一个D对象都是一个B对象。反之如果你需要一个D对象,B对象无法效劳,因为虽然每个D对象都是一个B对象,反之并不成立.