AWJ> Where exactly are one supposed to use dynamic_cast?
PP> #define abstract = 0
PP> So you just do that:
PP> virtual void fn() abstract
AWJ> Personally, I think this way is a kludge which should
AWJ> never have been legal. The same effect is much cleaner
AWJ> obtained by declaring the constructor in the
AWJ> protected: section of the class.
It's not quite the same effect... if I _need_ you to write func's A, B, and
C, I can with the abstract member functions. I can't do the same thing
withprotected constructors. Your method would necessitate a default
behaviour on functions where they may not be implementable. The famous
"draw()" function of Shape comes to mind. I don't WANT a default for it!
--- Maximus/2 3.01
---------------
* Origin: Tanktalus' Tower BBS (PVT) (1:342/708)
|