虚函数没有实现代码,只提供接口,在它的子类中实现
class CShape 
{
virtual draw()=0;
}
class CRect : public CShape
{
draw();
}

解决方案 »

  1.   

    虚函数和动态联编的概念密不可分,
    主要是用于在运行时鉴定调用DAG图哪个子类的成员函数举个例子也许你体会直接一些:          CEntity
                 /\
                /  \
               /    \
              /      \
          CCicle   CRectangleclass CEntity
    {
    int m_type;
    public:
        virtual void draw();
    };class CCicle:public CEntity
    {
    public:
        virtual void draw();
    };class CRectangle:publc CEntity
    {
    public:
        virtual void draw();
    };你可以把函数的传入参数设置为指向基类CEntity的指针pEnt;
    运行时传入的可能为CCircle或者CRectangle,如果没有虚函数机制(动态联编),那怎样传入对CCircle和CRectangle的操作方法呢?
      

  2.   

    newlily2000() 说的是纯虚函数,纯虚函数只有声明没有实现。虚函数的作用是实现动态联编,即使用基类的指针和引用可以操作子类的对象,实现动态束定(binding),虚函数在不同的子类中有不同的实现,并且基类的函数是虚函数,其子类的同名函数同样也是虚函数
      

  3.   

    newlily2000的说法欠妥当,
    这种类型称为纯虚函数,对应基类称为抽象基类