It’s not always easy March 7, 2016 Comments After having a semi-nervous breakdown over my code last night, I’ve learned two things: Number 1: You can avoid circular dependencies through the use of forward declarations. Number 2: You need to define virtual functions.