设计并测试一个矩形类(Rectangle),属性为矩形的左下与右上角的坐标,矩形水平放置。操作为计算矩形周长与面积。类对象的数据由友元函数来进行访问
时间: 2023-06-04 22:09:07 浏览: 302
好的,问题已经记录。关于你提出的设计矩形类的问题,我可以为你提供代码实现,如下所示:
```
#include<iostream>
using namespace std;
class Point{ //定义一个坐标类Point
friend class Rectangle; //友元类Rectangle
private:
float x, y; //坐标值
};
class Rectangle{
private:
Point p1, p2; //两个顶点
public:
Rectangle(float x1, float y1, float x2, float y2){
p1.x = x1; p1.y = y1;
p2.x = x2; p2.y = y2;
} //构造函数
float Area(){ //计算矩形面积
return (p2.x - p1.x) * (p2.y - p1.y);
}
float Perimeter(){ //计算矩形周长
return 2 * (p2.x - p1.x + p2.y - p1.y);
}
};
void Test(){ //友元函数
Rectangle rt(1, 2, 4, 5); //创建一个矩形对象
cout<<"矩形的面积为:"<<rt.Area()<<endl;
cout<<"矩形的周长为:"<<rt.Perimeter()<<endl;
}
int main(){
Test(); //调用友元函数
return 0;
}
```
以上是一个简单的矩形类的实现,包含了矩形周长与面积的计算方法。友元函数Test()演示了如何创建矩形对象并访问它的数据。希望能对你有所帮助。
阅读全文