I don't understand how throwing an exception when a pure virtual method is accidentally invoked would help in the debugging process. Won't the throw unwind your stack so you can't see where it happened? Yikes... I'd much rather have abort() called which will give me a core file to look at -- at least under UNIX. Jeff