欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

[YTU]_2477( C++习题 抽象基类)

发布时间:2025/4/16 c/c++ 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [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++习题 抽象基类)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。