Answer: The simplest way is to change the name of your interface (or the
namespace it is in) each time its contents change. This is actually what
I would recommend. However, it is also possible to include such information
as part of the
can contain arbitrary information about the plugin that it loads through
the Info type. In the
Info type is
int, and the
hello class has a number (it could be
a version) of 1, and the
class has a version of 2. In the multiple_inheritance sample, this type
is a string. This will be detailed in greater detail in this documentation.
No. The classes work just as well if they contain data or functions that aren't pure virtual. Using virtual destructors in base classes is highly recommended though.
It is actually possible to define the implementation of a base class's functions in a .cpp file. Check out Tutorial 3.
In general it can often be a good idea to use pure virtual methods, just for simplicity, but it is not a requirement.