对于我的任务,我创建了一个类 Robot,它有一个指向类 State 的指针。这个 State 类是一个接口。State 子类的实际实现需要在单独的 DLL 中完成。
我已经能够在单独的 DLL 中成功创建这些类,因此带有 State 子类 ( StateDLL
) 的 DLL 仅引用包含 State 接口类的 DLL。
问题从 Robot 类的构造函数开始。例如,我必须让 Robot 的私有变量State*
知道他的第一个子类是什么(其中 S 是 type State*
)
Robot::Robot() {
S = StateDLL::StateChild1::get();
}
这是否意味着 Robot 需要了解 StateDLL 的内容?有没有办法以任何其他方式告诉他子类,或者如果我让 RobotDLL 引用 StateDLL 没关系(想法 StateDLL 可以改变很多,而 RobotDLL 应该更加静态)?