所以我正在做一个个人项目(试图在 C++ 上做得更好),我正在努力让它工作:
我有一个带有纯虚函数 interactWith(A* target); 的 ABC 类 A
然后我有两个派生类,B类和C类。
但是,B 类必须与 C 类交互,而不是与另一个 B 类交互
我在 ABC 中找到了一种使用 if/else 和虚拟 getType() 的方法,但我很好奇是否有更优雅的方法,或者我是否只是在做一些非常愚蠢的事情,以及我是否正在做某事愚蠢的(这很有可能),我会从哪里开始寻找更好的解决方案(即更合适的设计模式)
请注意:我没有使用 boost,我现在宁愿避免它,等我真正擅长编程时开始学习它
欢迎您提供任何帮助。谢谢,麻烦您了
我应该注意的一点:B 类和 C 类将(应该)仅通过 A* 可见