OJ 嘻唰唰抽象基类
来源:互联网 发布:斗鱼登录网络异常 编辑:程序博客网 时间:2024/05/22 12:27
Description
编写一个程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。
Input
圆的半径
矩形的边长
三角形的底与高
Output
圆的面积
矩形的面积
三角形的面积
Sample Input
12.64.5 8.44.5 8.4
Sample Output
area of circle = 498.76area of rectangle = 37.80area of triangle = 18.90
代码:
#include <iostream>#include <iomanip>using namespace std;class Shape{public: virtual void Area()=0;};class Circle:public Shape{public: Circle(double r):radius(r) {} void Area() { cout<<3.1415916*radius*radius<<endl; }private: double radius;};class Rectangle:public Shape{public: Rectangle(double w,double l):width(w),longth(l) {} void Area() { cout<<width*longth<<endl; }private: double width; double longth;};class Triangle:public Shape{public: Triangle(double b,double h):base(b),height(h) {} void Area() { cout<<base*height/2<<endl; }private: double base; double height;};void printArea(Shape &s){ s.Area();}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;}
运行结果:
0 0
- OJ 嘻唰唰抽象基类
- OJ嘻唰唰抽象一个形状类
- OJ嘻唰唰 类模板
- 嘻唰唰第五批之三 抽象基类
- OJ 嘻唰唰 类的应用
- OJ嘻唰唰 我想放假
- 嘻唰唰第六批Problem K: B 抽象类-形状
- OJ嘻唰唰 Shape系列-4
- OJ嘻唰唰Shape系列-6
- OJ嘻唰唰之改错题(1)-商品销售类
- OJ嘻唰唰之改错题(5)类中私有成员的访问
- OJ嘻唰唰之类模板(1)类模板---求数组的最大值
- OJ嘻唰唰之类模板(2)求类中数据成员的最大值-类模板
- OJ嘻唰唰第一批之友元输出时间日期
- OJ嘻唰唰第二批之成绩统计
- 6.22 输出日期时间--友元类 oj 嘻唰唰 1
- OJ嘻唰唰 学生信息的输入与输出
- OJ嘻唰唰之改错题(4)-C++继承
- iOS点击空白处关闭presentViewController出来的view
- HMailServer日记
- typedef 语句的理解
- 背景音乐播放
- sharepreference实现记住密码功能
- OJ 嘻唰唰抽象基类
- iOS RAC 初探
- memcached client -- memcached client for java使用
- linux下多线程编程
- 防止表单重复提交的几种策略
- kafka详细解读
- 弱渣leetcode刷题-Search Insert Position
- webView的属性 webView的优化
- Vivado_MicroBlaze_问题及解决方法_汇总(不定时更新)