c++ subclass constructor experiments