What's the best way of handling this? Right now, our best idea is to
include ConwayCell.h inside FredkinCell.h so that FredkinCell can return
a pointer to a ConwayCell upon state change. When the FredkinCell ages
to 2, it will return an AbstractCell* of implicit type ConwayCell so
that Cell can compare this return with the cell it is holding on to (a
FredkinCell) and decide if a mutation has occured. However, this
violates the abstraction of ConwayCell and FredkinCell from each other.
We're trying to abstract the two Cell classes apart from each other as
much as possible. The only way to really do this is if FredkinCell's
contructor received an argument of AbstractCell to denote what it is to
mutate to. Obviously from Main, this isn't possible.
So, what to do? Any help?
-RonB