Should I use abstract or interface?

If the functionality we are creating will be useful across a wide range of disparate objects, use an interface . Abstract classes should be used primarily for objects that are closely related, whereas interfaces are best suited for providing a common functionality to unrelated classes.

Read more

What is an abstract class in C ++?

An abstract class is a class that is designed to be specifically used as a base class . An abstract class contains at least one pure virtual function. You declare a pure virtual function by using a pure specifier ( = 0 ) in the declaration of a virtual member function in the class declaration.

Read more