I'm aware of circular references (Class A holds Class B and Class B holds Class A). But since I haven't programmed enough, it's hard for me to find reasons to use them. I was wondering if people could give me some examples and explain good reasons for using them.
In my case, right now I'm looking at 2D source code tutorials and the user created a Creature and a CreatureAi class that reference each other. For what reason? I don't know yet, that's why I'm looking for examples and still reading around.