Abstract Class
An abstract class contains at least one pure virtual function.
You cannot use an abstract class as a parameter type, a function returntype, or the type of an explicit conversion, nor can you declare an object of an abstract class.You can, however, declare pointers and references to an abstract class. (E.G. <<head first design pattern>>, CH 01)
How to implement Java interface in C++
Make a class with pure virtual methods. Use the interface by creating another class that overrides those virtual methods.
A pure virtual method is a class method that is defined as virtual and assigned to 0.
class IDemo
{
public:
virtual void OverrideMe() = 0;
}
class Child : public IDemo
{
public:
virtual void OverrideMe()
{
//do stuff
}
}
http://stackoverflow.com/questions/318064/how-do-you-declare-an-interface-in-c
Virtual destructor
When to use virtual destructor
http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors