应用多态的例子非常普遍,在delphi的vcl类库中,最典型的就是:tobject类有一个虚拟的destroy虚构函数和一个非虚拟的free函数。free函数中是调用destroy的。因此,当我们对任何对象(都是tobject的子类对象)调用 .free();之后,都会执行 tobject.free();,它会调用我们所使用的对象的析构函数 destroy();。这就保证了任何类型的对象都可以正确地被析构。
应用多态的例子非常普遍,在delphi的vcl类库中,最典型的就是:tobject类有一个虚拟的destroy虚构函数和一个非虚拟的free函数。free函数中是调用destroy的。因此,当我们对任何对象(都是tobject的子类对象)调用 .free();之后,都会执行 tobject.free();,它会调用我们所使用的对象的析构函数 destroy();。这就保证了任何类型的对象都可以正确地被析构。