问题:【C++设计题设计一个表示形状的抽象类shape,其成员函数area()为求图形面积的函数,在此基础上派生三角形类(triangle)、矩形类(rectangle),二者都有具体的求面积函数。其中,三角形类有数据】
答案:↓↓↓ 李庆忠的回答: 网友采纳 下列shape类是一个表示形状的抽象类,area()为求图形面积的函数,total()则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数 classshape{//形状基类 public: virtualfloatarea()=0; }; floattotal(shape*s[],intn) { floatsum=0.0; for(inti=0;iarea(); returnsum; } classTriangle:publicShape//三角形 { public: Triangle(doubleh,doublew){H=h;W=w;} doubleArea()const{returnH*W*0.5;} private: doubleH,W; }; classRectangle:publicShape//矩形 { public: Rectangle(doubleh,doublew){H=h;W=w;} doubleArea()const{returnH*W;} private: doubleH,W; }; |