c++求圆的面积和矩形的面积
2017-01-23 22:02
288 查看
#include <iostream> #define PI 3.14 using namespace std; class Shape{ protected: double x,y; // 对于圆,x和y均表示圆的半径,而对于矩形,x表示矩形的长,y表示矩形的宽 public: Shape(double _x,double _y); double GetArea(); }; Shape::Shape(double _x,double _y):x(_x), y(_y){} double Shape::GetArea() { return 0.0; } class Circle:public Shape{ double _r; public: Circle(double r); // 构造函数,并用r构造基类的x和y double GetArea(); //求圆的面积 double GetRadius(); // 获取圆的半径 }; Circle::Circle(double r):Shape(r, r){} double Circle::GetArea() { return PI*x*y; } double Circle::GetRadius() { return x; } class Rectangle:public Shape{ public: Rectangle(double l,double w); // 构造函数,并用l和w构造基类的x和y double GetArea(); // 求矩形的面积 double GetLength(); // 获取矩形的长 double GetWidth(); // 获取矩形的宽 }; Rectangle::Rectangle(double l,double w):Shape(l, w){} double Rectangle::GetArea() { return x*y; } double Rectangle::GetLength() { return x; } double Rectangle::GetWidth() { return y; } int main() { Circle s1(1); double area = s1.GetArea(); double r = s1.GetRadius(); cout<<"ciecle:r="<<r<<", area="<<area<<endl; Rectangle s2(3,4); area = s2.GetArea(); double l = s2.GetLength(); double w = s2.GetWidth(); cout<<"rectangle:length="<<l<<", width="<<w<<", area="<<area<<endl; return 0; }
相关文章推荐
- PAT甲级1071
- More Effective C++学习笔记(6)-杂项
- C++实现基数排序(radix sort)
- Maximum Product UVA - 11059
- Rightmost Digit & Leftmost Digit
- PAT甲级1054
- 游戏开发之在UE4中编写C++代码控制角色
- 拓扑排序--C语言
- 用c++对一个5位数的任意整数,求出其降序数。例如,整数是82319,则其降序数是98321。试建立一个类DescendNUM,用于完成该功能。
- 用c++实现加法器
- C++string常用的函数
- 4000 C++回顾之泛型算法
- c++虚函数表
- C++primer前七章笔记
- C语言实现面向对象
- BZOJ 3093 [Fdu校赛2012] A Famous Game
- C++初步(10)
- C++初步(9)
- C++初步(6)
- C++初步(8)