设计并测试一个矩形类(Rectangle),从键盘输入一个矩形对象,属性为矩形的左下与右上角的坐标,矩形水平放置。操作为计算矩形周长与面积。类对象的数据由友元函数来进行访问
时间: 2023-06-07 08:10:24 浏览: 108
好的,关于您的问题,我可以回答。下面是设计并测试一个矩形类(Rectangle)的代码:
```c++
#include<iostream>
using namespace std;
class Rectangle{
private:
int x1, y1, x2, y2; // 矩形左下角和右上角坐标
public:
Rectangle(int a, int b, int c, int d){
x1 = a, y1 = b, x2 = c, y2 = d;
}
friend double perimeter(Rectangle& rect);
friend double area(Rectangle& rect);
};
double perimeter(Rectangle& rect){
return (rect.x2-rect.x1)*2 + (rect.y2-rect.y1)*2;
}
double area(Rectangle& rect){
return (rect.x2-rect.x1)*(rect.y2-rect.y1);
}
int main(){
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
Rectangle rect(x1, y1, x2, y2);
cout << "周长:" << perimeter(rect) << endl;
cout << "面积:" << area(rect) << endl;
return 0;
}
```
这里我们设计了一个矩形类(Rectangle),其中包含矩形左下角和右上角坐标,由友元函数来进行访问。主程序中从键盘输入一个矩形对象,再调用友元函数来求解矩形的周长和面积。
阅读全文