The code that has to be modified can be downloaded from http://www.acceleratedcpp.com/. See chapter 15. The exercise reads: Add an operation to reframe a Picture, which changes the frame characters. The operation should change all of the frames in the interior picture.
The code that is to be modified contains a class hierarchy of an abstract base with derived classes.
Stand alone operations create derived class objects from this hierarchy and connect these objects via base class pointers which are linked only in one direction. There is a top object which can be directly accessed. Objects which are not on the top can only be accessed via other objects. Objects that hold a vector of type string instead of (a) pointer(s) create an end of the corresponding leaf/branch.
In the exercise a new operation is to be implemented that changes the behaviour of an object of a specific type. The object might exist several times in the linked ensemble of objects. The modification in behaviour is trivial nevertheless getting the information to the relevant object(s) doesnt seem trivial without messing up the interface of all types. Any solution seems to involve changes which are not specific/confined/local to the type that should change its behaviour. How can I send information to one specific type without changing all other types or base in this linked ensemble?