草庐IT

PointBase

全部标签

c++ - 如何禁止隐式转换为基类?

我想在我的代码中清楚地区分3D和2D点。显而易见的解决方案是拥有单独的类。另一方面,从z=0的3D点到2D点的转换非常普遍。因此我想使用一个公共(public)基类,这样我就可以在内存中就地进行这些转换。为了明确区分类型,我想禁止隐式转换为该基类。这可行吗?或者是否有不同的方法来创建具有类似功能的不同类型? 最佳答案 您可以私下派生子类:classPointBase{//...};classPoint2D:privatePointBase{//...};classPoint3D:privatePointBase{//...};这种方