Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

FAQ

Factories
Shared Libraries

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 factory. A factory can contain arbitrary information about the plugin that it loads through the Info type. In the hello_world sample, the Info type is an int, and the hello class has a number (it could be a version) of 1, and the world 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.


PrevUpHomeNext