小编use*_*468的帖子

实现虚函数的问题

我在实现一个母类的虚函数时遇到了一些问题:基本上我的代码是:

   class Shape
    {
        public:

        virtual ~Shape();
        virtual bool Intersect (const Ray& ray, double& t) const =0;// to premit abstraktion (definition in sub-classes)
        virtual Vector GetNormal(const Vector& at) const =0;

        protected:
        Color  color;
        double dc; //diffusive component

    };

class Ball: public Shape
{
public:

    Ball(const Color& col,const double diff,const double x,const double y,const double z,const double radius):
   cx(x),cy(y),cz(z),r(radius)
    {
        Shape::color=col;
        Shape::dc=diff;
        assert(radius!=0);
    }
    virtual bool Intersect (const Ray& ray, double& t)
    {
        Vector c(cx,cy,cz), s(ray.xs,ray.ys,ray.zs);
        Vector v(s-c);

        double delta(std::pow(v*ray.dir,2)-v*v+r*r);
        if(delta<0) …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance virtual-functions class

4
推荐指数
1
解决办法
160
查看次数

标签 统计

c++ ×1

class ×1

inheritance ×1

virtual-functions ×1