C++ experiment derivation inheritance