所以我有一个类层次结构,它本质上将Entity类作为父抽象类和一堆从它派生的其他类,例如Door, Player,Ground等。
vector我还有一个存储指向类型对象的指针的三维空间,并用派生对象Entity填充它。vector在Door类中,我有一个名为的方法isOpen(),它只返回一个bool. 这个函数是特定于Door类的,既不在Entity类中,也不在它的任何其他派生中(因为我不需要检查,例如,一个Ground对象是否打开)。
Door现在,知道在vector位置i,存在一个类型的对象j,k我想像这样调用该方法isOpen:vector[i][j][k]->isOpen()不幸的是,当我这样做时,编译器返回class Entity has no member named isOpen(). 这是可以理解的,因为该函数isOpen()是该类独有的Door,但是我该怎么做才能使这种调用成为可能?