派生类
来源:互联网 发布:cf源码 编辑:程序博客网 时间:2024/05/21 17:54
/**Copyright (c) 2013 烟台大学计算机与控制工程学院* All rights reserved* 作 者: 刘慧艳* 完成日期:2014 年6月20日* 版 本 号:v1.0* 问题描述:编写一个程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。Input圆的半径矩形的边长三角形的底与高Output圆的面积矩形的面积三角形的面积*/#include <iostream>#include <iomanip>#define pi 3.1415926using namespace std;class Shape{ public: virtual double area()=0;};class Circle:public Shape//(圆形){ public: Circle():Shape(){} Circle(double a):r(a){} double area() { return pi*r*r; } private: double r;};class Rectangle:public Shape//(矩形){ public: Rectangle():Shape(){} Rectangle(double a,double b):l(a),m(b){} double area() { return l*m; } private: double l; double m;};class Triangle:public Shape//(三角形){ public: Triangle():Shape(){} Triangle(double a,double b):y(a),n(b){} double area() { return (y*n)/2; } private: double y; double n;};void printArea(Circle b){ cout<<b.area()<<endl;}void printArea(Rectangle v){ cout<<v.area()<<endl;}void printArea(Triangle z){ cout<<z.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;}
0 0
- 派生类
- 派生类
- 派生类
- 派生类
- 派生类
- 派生类
- 派生类
- 派生类
- 派生类
- 派生类
- 类和派生类
- 派生类的尴尬
- 继承和派生类
- 派生类与继承
- 派生类 构造函数
- 派生类的继承
- 派生线程类
- c++之派生类
- work day的缩写
- 火地晉
- android学习--使应用程序全屏显示
- NSURLRequestCachePolicy 缓存策略
- Effective C++ Item 27 少做转型操作
- 派生类
- IOS开发之----iTunes下载地址和评论地址
- asp.net mvc 学习备忘
- NSJSONReadingOptions
- iOS网络编程之Socket
- Hibernate简单入门
- 重庆膀胱炎有哪些原因
- NBUT 1571 呦呦切克闹
- android BitmapFactory.Options