1. 程式人生 > >橢圓類——1(類的設計)

橢圓類——1(類的設計)

【問題描述】
設計並測試一個名為Ellipse的橢圓類:
(1)其私有資料成員為外切矩形的左上角與右下角兩個點的座標(4個int型x1,y1,x2,y2)
(2)宣告4個公有的成員函式分別訪問橢圓的外切矩形的頂點座標
(3)設計1個建構函式Ellipse(int,int,int,int)對橢圓的外切矩形的頂點座標賦值
(4)設計1個公有成員函式Area()計算橢圓的面積。

【輸入形式】
在主函式裡輸入頂點座標,並宣告一個Ellipse類的物件。

【輸出形式】
在主函式裡呼叫該物件的成員函式輸出外切矩形的頂點座標,計算並輸出橢圓的面積。

【樣例輸入】
-3 1 3 -1

【樣例輸出】


-3 1 3 -1
9.4245

#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;

class Ellipse
{
private:
    int x1,y1,x2,y2;
public:
    //建構函式
    Ellipse(int xx1,int yy1,int xx2,int yy2);
    //功能函式
    double Area();//計算橢圓面積
    int GetX1(){return x1;}
    int GetY1
(){return y1;} int GetX2(){return x2;} int GetY2(){return y2;} }; Ellipse::Ellipse(int xx1,int yy1,int xx2,int yy2) { x1 = xx1; y1 = yy1; x2 = xx2; y2 = yy2; } double Ellipse::Area() { return (double)( 3.1415 * fabs(x2-x1) * fabs(y2-y1) / 4 ); } int main() { int x1,y1,x2,y2; cin >>
x1 >> y1 >> x2 >> y2; Ellipse e(x1,y1,x2,y2); cout << e.GetX1() << " " << e.GetY1() << " " << e.GetX2() << " " << e.GetY2() << endl; cout << fixed << setprecision(4) << e.Area() << endl; return 0; }