文章目录纯虚函数抽象类纯虚函数如果一个虚函数仅表达抽象的行为没有具体的功能即只有声明没有定义这样的虚函数被称为纯虚函数或抽象方法class类名{public:virtual返回类型 函数名(形参表)0;};假设有图形类Figure, 设计计算面积的成员函数area()Figure只是一个纯抽象意义上得概念不存在计算面积或体积的具体方法所以只能将成员函数area()设计为纯虚函数#includeiostreamusingnamespacestd;classFigure{protected:doublex,y;public:voidset(doublei,doublej){xi;yj;}virtualvoidarea()0;};抽象类如果类中包含了纯虚函数那么这个类就是抽象类抽象类只能最为其它类的基类不能用来建立对象如果类中的所有成员函数都是纯虚函数则可以称为纯抽象类#includeiostreamusingnamespacestd;classShape{public:virtualvoiddraw(void)0;};classRect:publicShape{public:voiddraw(void){coutdraw Rectendl;}};classCircle:publicShape{public:voiddraw(void){coutdraw Circleendl;}};classEllipse:publicShape{public:voiddraw(void){coutdraw Ellipseendl;}};intmain(void){/* Ellipse e; e.draw(); e.Shape::draw(); *///Shape s1; //errorShape*buf[128]{0};buf[0]newRect;buf[1]newCircle;buf[2]newEllipse;for(inti0;buf[i]!NULL;i){buf[i]-draw();}return0;}