[YTU]_2477( C++习题 抽象基类)
生活随笔
收集整理的这篇文章主要介绍了
[YTU]_2477( C++习题 抽象基类)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目描述
编写一个程序,声明抽象基类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> using namespace std; class Shape { public:virtual float area()=0; }; class Circle:public Shape { public:Circle(float r):radius(r){}float area() {return radius*radius*3.1415926;} private:float radius; };class Rectangle:public Shape { public:Rectangle(float a1,float b1):chang(a1),kuan(b1){}float area(){return chang*kuan;} private:float chang,kuan; };class Triangle:public Shape { public:Triangle(float d,float g):di(d),gao(g){}float area(){return di*gao*0.5;} private:float di,gao; }; void printArea(Shape &s) {cout<<s.area()<<endl; } int main() {float r,a,b,w,h;cout<<fixed<<setprecision(2);cin>>r;Circle circle(r);cout<<"area of circle = ";printArea(circle);cin>>a>>b;Rectangle rectangle(a,b);cout<<"area of rectangle = ";printArea(rectangle);cin>>w>>h;Triangle triangle(w,h);cout<<"area of triangle = ";printArea(triangle);return 0; }总结
以上是生活随笔为你收集整理的[YTU]_2477( C++习题 抽象基类)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [YTU]_2575( 交通工具信息)
- 下一篇: 第2周项目1c++语言中函数参数传递的三