There almost aren’t any rules; any cheating inside your code is allowed; it is the whole point of the puzzle. But you cant change any members or any method, or modify the three classes, changes are not allowed for the three classes.

How can you fit 20 clowns into a Volkswagen? Three classes are given: an empty Clown class, a super class Synchronized, and a Volkswagen class to which you can add clowns. When you try to add a Clown, it is checked that it isn’t already full. But if you just try hard enough, there’s always room for some extra clowns…

The instance of Synchronized cant be set to null or modified. The instance of Synchronized is also untouchable, even it is a public member. It is a rule of the puzzle, dont touch it anywhere , neither in your code, nor somewhere else -> I dont have enough time to implment a real Synchronized class, like Java, in C++ :-(