@1) he doesn't have a getter and setter for book::author ;-) @2) agreed. Either the class author should really be a class author_reference, and name and email are just a (n unsuitable) choice of a unique reference to this specific author which is represented within a separate class and my contain more (private) data like home address and preferred brand of peanut butter. Or the class author really represents an actual author, in which case (s)he should only be referenced, not defined as a data member. After all, the author shouldn't die just because a book is burned... :omg:
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)