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 Rectangle
and 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();
};