现在的位置: 首页 > 综合 > 正文

OJ12

2014年10月03日 ⁄ 综合 ⁄ 共 1066字 ⁄ 字号 评论关闭

#include <iostream>
#include <iomanip>
#define pi 3.1415926
using namespace std;

class Shape
{
public:
    virtual void area() =0;
};
class Circle :public Shape        //(圆形)
{
public:
   Circle(double r):radius(r){}
   void area()
   {
       cout<<(pi*radius*radius)<<endl;
   }
private:
   double radius;
};
class Rectangle :public Shape//(矩形)
{
public:
   Rectangle(double l,double w):length(l),width(w){}
   void area()
   {
       cout<<(length*width)<<endl;
   }
private:
   double length,width;
};
class Triangle :public Shape//(三角形)
{
public:
   Triangle(double l,double h):length(l),hight(h){}
   void area()
   {
       cout<<(length*hight/2)<<endl;
   }
private:
   double length,hight;
};
//***
void printArea(Circle s)
{
    s.area();
}
void printArea(Rectangle s)
{
    s.area();
}
void printArea(Triangle 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;
}

【上篇】
【下篇】

抱歉!评论已关闭.