gpt4 book ai didi

c++依赖派生类的纯虚函数

转载 作者:搜寻专家 更新时间:2023-10-31 00:27:51 27 4
gpt4 key购买 nike

我正在研究边界框/碰撞检测系统,我正在使用不同类型的边界体积,id 就像所有边界体积一样派生相同的基类,然后使用纯虚函数强制所有派生类实现基本功能喜欢

  • isCollidingWith(BoudingBox)

但这就是给我带来麻烦的原因:我不希望他们为每个 BoudingVolume 类型实现一个函数。所以如果我有一个边界框和一个边界球体,球体类和盒子类都应该实现

  • isCollidingWith(BoundingBox)
  • isCollidingWith(BoundingSphere)

如果我然后创建一个新的 BoundingVolume,如 BoundingCylinder(通过从基类派生),我希望编译器抛出一个错误,直到 BoundingBox 和 BoundingSphere 实现了 isCollidingWith 新的 Cylinder 类型的函数(直到 CylinderBox 实现了 isCollidingWithSphereCylinder

我不确定如何着手实现它,但我考虑过使用 CRTP。这可能吗?

最佳答案

当您在基类中创建纯虚函数时,派生类必须实现它,如果派生类不实现它,编译器将给出你是一个错误。所以你不必关心是否实现了纯虚函数。

关于c++依赖派生类的纯虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com