Dynamic C++ classes