So I have a class hierarchy that essentially has Entity class as the parent abstract class and a bunch of other classes that derive from it, such as Door, Player, Ground, etc.
I also have a three-dimensional vector that stores the pointers to objects of type Entity and I fill up this vector with the derived objects. 
Within the Door class I have a method called isOpen() that simply returns a bool. This function is specific to the Door class and is neither found in Entity class nor in any other derivations of it (as I don't need to check whether, for example, a Ground object is open or not). 
Now, knowing that there exists an object of type Door at vector position i, j, k, I would like to call the method isOpen like so: vector[i][j][k]->isOpen(). Unfortunately, when I do this, the compiler returns class Entity has no member named isOpen(). This is understandable since the function isOpen() is exclusive to the Door class, but what can I do in order to make this sort of call possible?
 
     
     
    