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;
}