c++ 計算長方形面積 類對象傳參
-
- 題目
- 問題描述
- 問題分析
- 設計思想
- 設計表示
- 源代碼
- 測試資料及運作結果
題目
編寫一個程式計算兩個給定長方形的面積,其中在設計類成員函數addarea()(用于計算兩個長方形的總面積)時使用對象作為參數。
問題描述
本題要求我們首先計算長方形的面積,然後再計算兩個長方形的面積和。
問題分析
編寫本題程式首先要定義一個長方形類,其中要包括求長方形面積的函數,以及用于計算兩個長方形的總面積的成員函數addarea(),在設計成員函數addarea()時要使用對象作為參數。
設計思想
在編寫本題的過程中,我定義了一個長方形類Rectangle,該長方形的長x、寬y為該類的私有成員,在該類中,我還構造了一個成員函數area()用于計算長方形面積;并設計了一個用于計算兩個長方形的總面積的成員函數addarea(),該成員函數使用了對象作為參數,然後在主函數中調用函數addarea()進而輸出兩個長方形的總面積。
設計表示

源代碼
#include "stdafx.h"
#include <iostream>
using namespace std;
class Rectangle{
public:
Rectangle(double xx = 0, double yy = 0){
x = xx;
y = yy;
}
double getX(){ return x; }
double getY(){ return y; }
double area(){ return x*y; } //計算一個長方形的面積的函數
double addarea(Rectangle &sR1); //計算兩個長方形的總面積的函數 使用對象作為參數
private:
double x, y;
};
double Rectangle::addarea(Rectangle &sR1)
{
double a;
a = sR1.area() + area();
cout << "這兩個長方形的面積之和為;" << a << endl;
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
double a, b, m, n;
cout << "請依次輸入第一個長方形的長和寬:";
cin >> a >> b;
cout << "請依次輸入第二個長方形的長和寬:";
cin >> m >> n;
Rectangle sR1(a, b);
Rectangle sR2(m, n);
sR2.addarea(sR1);
return 0;
}