Re: Abstract
This C++/CLI issue: abstract and pure-virtual are slightly different concepts - if a class has a pure-virtual function then is is abstract - and to make this clear to anyone reading the code it is probaly best if you specify this at the class-head (after all the single pure-virtual function that makes the class abstract may be buried several screens down in the class definition).
But a class can be abstract even if there are no pure-virtual functions - all abstract means is that you have to extend this class if you want to uses - a pure virtual function requires this - but there are other circumstances in which it can arise.
We gave you the ability to use the 'abstract' keyword instead of '= 0' (and the term' pure virtual function') as abstract is the term that is widely used in OOP for this situation while 'pure virtual function' is a C++-ism.
Jonathan Caves
Visual C++ Compiler Team