题目描述
运用多态编写程序,声明抽象基类shape,由它派生出3个派生类: circle(圆形)、rectangle(矩形)、triangle(三角形),用一个函数printarea()分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。
输入
圆的半径 矩形的边长 三角形的底与高
输出
圆的面积
矩形的面积
三角形的面积
注意:每一行后有回车符
样例输入
12.6 4.5 8.4 4.5 8.4
样例输出
area of circle=498.76
area of rectangle=37.80
area of triangle=18.90
代码实现
#include<iostream> #include<iomanip> #define pi 3.1415926 using namespace std; class shape { public: virtual double printarea()=0; }; class circle:public shape { private: double r; public: circle(double x) { r=x; } virtual double printarea() { return pi*r*r; } }; class rectangle:public shape { private: double w,h; public: rectangle(double x,double y) { w=x,h=y; } virtual double printarea() { return w*h; } }; class triangle:public shape { private: double w,h; public: triangle(double x,double y) { w=x,h=y; } virtual double printarea() { return w*h/2; } }; double printarea(shape &x) { return x.printarea(); } int main() { double a,b,c,d,e; cin>>a>>b>>c>>d>>e; circle cir(a); rectangle rec(b,c); triangle tri(d,e); cout<<fixed<<setprecision(2)<<"area of circle="<<printarea(cir)<<'n'; cout<<fixed<<setprecision(2)<<"area of rectangle="<<printarea(rec)<<'n'; cout<<fixed<<setprecision(2)<<"area of triangle="<<printarea(tri)<<'n'; return 0; }
以上所述是小编给大家介绍的c++计算圆形、矩形和三角形的面积,希望对大家有所帮助。在此也非常感谢大家对<计算机技术网(www.ctvol.com)!!>网站的支持!
需要了解更多c/c++开发分享C++计算圆形、矩形和三角形的面积,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/1038422.html