設計一個點類point,再設計一個矩形類,矩形類使用point類的兩個坐標點作為矩形的對角頂點,並可以輸出4個坐標值和面積。使用測試程序驗證程序。


源程序:

//1.設計一個點類 Point,再設計一個矩形類,矩形類使用 Point 類的兩個坐標點作為矩形的對

//角頂點。並可以輸出 4 個坐標值和面積。使用測試程序驗證程序。

#include <iostream>

using namespace std;

class Point //點類

{

private:

  int x, y;//私有成員變量,坐標

public :

  Point()//無參數的構造方法,對 xy 初始化

  {

    x = 0;

    y = 0;

  }

  Point(int a, int b)//又參數的構造方法,對 xy 賦值

  {

    x = a;

    y = b;

  }

  void setXY(int a, int b)//設置坐標的函數

  {

    x = a;

    y = b;

  }

  int getX()//得到 x 的方法

  {

    return x;

  }

  int getY()//得到有的函數

  {

    return y;

  }

};

class Rectangle //矩形類

{

private:

  Point point1, point2, point3, point4;//私有成員變量,4 個點的對象

public :

  Rectangle();//類 Point 的無參構造函數已經對每個對象做初始化啦,這里不用對每個點多初始化了

  Rectangle(Point one, Point two)//用點對象做初始化的,構造函數,1 和 4 為對角頂點

  {

    point1 = one;

    point4 = two;

    init();

  }

  Rectangle(int x1, int y1, int x2, int y2)//用兩對坐標做初始化,構造函數,1 和 4為對角頂點

  {

    point1.setXY(x1, y1);

    point4.setXY(x2, y2);

    init();

  }

  void init()//給另外兩個點做初始化的函數

  {

    point2.setXY(point4.getX(), point1.getY() );

    point3.setXY(point1.getX(), point4.getY() );

  }

  void printPoint()//打印四個點的函數

  {

    cout<<"A:("<< point1.getX() <<","<< point1.getY() <<")"<< endl;

    cout<<"B:("<< point2.getX() <<","<< point2.getY() <<")"<< endl;

    cout<<"C:("<< point3.getX() <<","<< point3.getY() <<")"<< endl;

    cout<<"D:("<< point4.getX() <<","<< point4.getY() <<")"<< endl;

  }

  int getArea()//計算面積的函數

  {

    int height, width, area;

    height = point1.getY() - point3.getY();

    width = point1.getX() - point2.getX();

    area = height * width;

    if(area > 0)

      return area;

    else

    return -area;

  }

};

void main()

{

  Point p1(-15, 56), p2(89, -10);//定義兩個點

  Rectangle r1(p1, p2);//用兩個點做參數,聲明一個矩形對象 r1

  Rectangle r2(1, 5, 5, 1);//用兩隊左邊,聲明一個矩形對象 r2

  cout<<"矩形 r1 的 4 個定點坐標:"<< endl;

  r1.printPoint();

  cout<<"矩形 r1 的面積:"<< r1.getArea() << endl;

  cout<<"\n 矩形 r2 的 4 個定點坐標:"<< endl;

  r2.printPoint();

  cout<<"矩形 r2 的面積:"<< r2.getArea() << endl;

}

 運行結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 用C#設計一個簡單的Windows應用程序,在文本框中輸入兩個點的坐標值,單擊“計算“時顯示兩點之間的距離。如圖所示:要求定義一個 Point類,包括 (1)兩個私有字段表示兩個坐標值。 (2)一個構造函數通過傳入的參數對坐標值初始化。 (3)兩個只讀屬性對坐標值的讀取。 (4)一個方法包含一個Point類對象作為形參,計算該對象和自己的距離。 用C#設計控制台應用程序,計算矩形的周長和面積。要求在程序中定義一個類,其中包含兩個字段用於存儲矩形的長和寬,包含帶參構造函數完成對字段的初始化,包含兩個方法用於計算矩形的面積和周長。主函數中,輸入矩形長和寬,實例化一個矩形,能夠輸出矩形的周長和面積。 使用類計算矩形的面積 Leetcode練習(Python):數學類:第223題:矩形面積:在二維平面上計算出兩個由直線構成的矩形重疊后形成的總面積。 每個矩形由其左下頂點和右上頂點坐標表示,如圖所示。 28.按要求編寫一個Java應用程序: (1)定義一個類,描述一個矩形,包含有長、寬兩種屬性,和計算面積方法。 (2)編寫一個類,繼承自矩形類,同時該類描述長方體,具有長、寬、高屬性, 和計算體積的方法。 (3)編寫一個測試類,對以上兩個類進行測試,創建一個長方體,定義其長、 寬、高,輸出其底面積和體積。 按要求編寫一個Java應用程序: (1)定義一個類,描述一個矩形,包含有長、寬兩種屬性,和計算面積方法。 (2)編寫一個類,繼承自矩形類,同時該類描述長方體,具有長、寬、高屬性, 和計算體積的方法。 (3)編寫一個測試類,對以上兩個類進行測試,創建一個長方體,定義其長、 寬、高,輸出其底面積和體積。 通過繼承Rect類編寫一個具有確定位置的矩形類PlainRect,其確定位置用 矩形的左上角坐標來標識,包含: 添加兩個屬性:矩形左上角坐標startX和startY。 兩個構造方法: 帶4個參數的構造方法,用於對startX、startY、width和height屬性 初始化; 不帶參數的構造方法,將矩形初始化為左上角坐標、長和寬都為0 的矩形; 添加一個方法: 判斷某個點是否在矩形內部的方法 按要求編寫一個Java應用程序: (1)編寫一個矩形類Rect,包含: 兩個屬性:矩形的寬width;矩形的高height。 兩個構造方法: 1.一個帶有兩個參數的構造方法,用於將width和height屬性初化; 2.一個不帶參數的構造方法,將矩形初始化為寬和高都為10。 兩個方法: 求矩形面積的方法area() 求矩形周長的方法perimeter() (2)通過繼承Rect類編寫一個具有確定位 按要求編寫一個Java應用程序: (1)編寫一個矩形類Rect,包含: 兩個屬性:矩形的寬width;矩形的高height。 兩個構造方法: 1.一個帶有兩個參數的構造方法,用於將width和height屬性初化; 2.一個不帶參數的構造方法,將矩形初始化為寬和高都為10。 兩個方法: 求矩形面積的方法area() 求矩形周長的方法perimeter() (2)通過繼承Rect類編寫一個具有確定位 25.按要求編寫一個Java應用程序: (1)編寫一個矩形類Rect,包含: 兩個屬性:矩形的寬width;矩形的高height。 兩個構造方法: 1.一個帶有兩個參數的構造方法,用於將width和height屬性初化; 2.一個不帶參數的構造方法,將矩形初始化為寬和高都為10。 兩個方法: 求矩形面積的方法area() 求矩形周長的方法perimeter() (2)通過繼承Rect類編寫一個具有
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM