String
class
Needless to say, passing around a naked heap pointer is bad...
Before I get to lazy objects, I have to mention alternatives. They're more complicated, actually. Note, allocating an object on heap and passing a naked pointer around is an indecent proposal I'm ashamed to even mention
Unforeseen construction: I mean a way of constructing an object that hasn't occurred to the designer of the class. Otherwise, he would've made a special constructor for that particular case