我正在做一个项目,其中有 2 个类:Room 和 EventRoom EventRoom 继承自 Room 并有更多成员。
在我的代码中,我这样做(tmpPtr 是房间指针):
if(eventRoom)
tmpPtr = dynamic_cast<EventRoom*>(tmpPtr);
后来当我尝试这个时:
if(line == "false;")
tmpPtr->setComplete(false);
我得到编译错误。setComplete是 EventRoom 的成员
简短版本:我想创建 Room 类型的对象,在某些情况下是 EventRoom。该代码目前仅适用于 Room,但 90% 的代码对于 EventRoom 是相同的。任何方式使用相同的代码?(使用 dynamic_cast 或类似的东西)