   abstract class??
  ive got a CTank class which inherits off a CObject Class, however when i come to creating an instance of the Tank class the compiler reports an error saying that i am trying to instantiate an abstract class. Has anybody any ideas why it it doing this?? Cheers for any help! 
If you have any functions in your class that are declared like this:virtual returnType functionName(arg1, arg2) = 0;That " = 0" at the end makes the whole class abstract, which means that it cannot be instantiated.  You can only instantiate classes that are derived from it.here is an example:class A{public:virtual void f1(void) = 0;};class B : public A{  public:void f1(void);};int main(void){ B b;//A a;   // this line would be an errorb.f1();return 0;}I hope this helps and is not horribly incorrect.;  There will be functions on the CObject class which need implementing on your CTank class. You can tell which ones these are as they are pure virtual functions. I.e. they have the virtual keyword in their declaration and are set equal to zero. 