I have a base class named Cell (other class has a pointer to an object of this class), and 3 derivated classes CellA, CellB and CellC. When a cell is dead, the pointer points to
Maybe you need a little bit different logic, take a look on states design pattern I think it could help you. Normally the casting is a bad thing and should be avoided. If you need a casting then you probably have a design issue....