Here is one of the important FAQ for C++ users.
What is the difference between the Interface and Abstract base class in C++?
Please give the answers with examples for more help..
Here is the brief description about the above two
The interface provides the definitions of methods that must be implemented by a class.
The major use of the interfaces is to allow you to generalize the specific functionality regardless of implementation.
These are the base classes that contain some abstract methods.
They cannot be instantiated they are to be derived from.
The use of an Abstract class is to allow you to define some generic functionality and sub-class to implement more specific functionality where appropriate.