C++ pr12: constructors