I know that you can't call pure virtual functions in the constructor because the derived functions haven't been initialized in the table yet. But what about the destructor? I was under the impression that you could. My application throws up the "Pure virtual function call" error box when it runs. VC++ 6.0. Certainly the table still exists even though the derived class has already been destroyed. I must admit to being a bit confused about this.
edit: I think I've found it to be "undefined" behavior. virtual calls are not supposed to ever happen in the destructor either apparently. Oh well, I'll have to restructure this.