class GeometricObject {
……
virtual bool hit(const Ray& ray, double& t, ShadeRec& s) const = 0;
……
};
class Rectangle: public GeometricObject {
};
Rectangle继承了GeometricObject,所以必须实现GeometricObject的纯虚函数hit()。
若在没有实现hit()的情况下就“new Rectangle”,就会报这个错误:“error: invalid new-expression of abstract class type 'Rectangle'”
Rectangle类与抽象基类

本文探讨了Rectangle类从GeometricObject抽象基类继承时必须实现的hit()纯虚函数的重要性。若Rectangle类未实现该函数,则尝试创建Rectangle实例时会触发编译错误。
9802

被折叠的 条评论
为什么被折叠?



