Original Link:http://msdn.microsoft.com/en-us/library/aa273534(v=vs.60).aspx
C++ Specific —>
An abstract class contains at least one pure virtual function. Specify a virtual function as pure by placing = 0 at the end of its declaration. You don't have to supply a definition for a pure virtual function.
You cannot declare an instance of an abstract base class; you can use it only as a base class when declaring other classes.
END C++ Specific
Example
In the following program, draw() is a pure virtual function defined in the abstract class Shape. You cannot declare Shape objects. Shape acts as a base class for Rectangleand Circle. Rectangle and Circle provide definitions for draw(), so you can declare instances of those classes and call draw() for them.
// Example of a virtual function and abstract classes #include <iostream.h> class Shape { public: virtual void draw() = 0; }; class Rectangle: public Shape { public: void draw(); }; class Circle : public Shape { public: void draw(); };