A refactoring puzzle in C++