第1个回答
用户7***32020.05.27回答提问者采纳请问你是想要这样的程序么:#include<iostream>#include<math.h>usingnamespacestd;classabstract{public:virtualdoubleperimeter()=0;virtualdoublearea()=0;};classCBase:publicabstract{public:doubleperimeter(){}doublearea(){}};classTriangle:publicCBase{public:doubleperimeter(doublea,doubleb,doublec){returna+b+c;}doublearea(doublea,doubleb,doublec){doubles=perimeter(a,b,c)/2.0;returnsqrt(s*(s-a)*(s-b)*(s-c));}};classrectangle:publicCBase{public:doubleperimeter(doublelength,doublewidth){return(length+width)*2;}doublearea(doublelength,doublewidth){returnlength*width;}};classcircle:publicCBase{public:doubleperimeter(doubler){return3.14*r*r;}doublearea(doubler){return2*3.14*r;}};intmain(){doublea,b,c;doublelength,width;doubler;cout<<"请输入三角形的三边:\n";cin>>a>>b>>c;Trianglesanjiao;cout<<"三角形的周长是:"<<sanjiao.perimeter(a,b,c)<<endl;cout<<"三角形的面积是:"<<sanjiao.area(a,b,c)<<endl;cout<<"请输入长方形的长宽:\n";cin>>length>>width;rectanglechangfang;cout<<"长方形的周长是:"<<changfang.perimeter(length,width)<<endl;cout<<"长方形的面积是:"<<changfang.area(length,width)<<endl;cout<<"请输入圆形的半径:\n";cin>>r;circleyuan;cout<<"圆形的周长是:"<<yuan.perimeter(r)<<endl;cout<<"圆形的面积是:"<<yuan.area(r)<<endl;return0;}