C++设计并测试一个矩形类,属性为矩形的左下与右上角的坐标,矩形水平放置,操作为计算矩形周长和面积
时间: 2023-05-30 15:02:44 浏览: 126
#include<iostream>
using namespace std;
class Rectangle {
private:
int x1, y1, x2, y2;//左下角坐标(x1,y1)、右上角坐标(x2,y2)
public:
Rectangle(int x1_, int y1_, int x2_, int y2_) {//构造函数
x1 = x1_;
y1 = y1_;
x2 = x2_;
y2 = y2_;
}
int getLength() {//计算周长
return 2 * (x2 - x1 + y2 - y1);
}
int getArea() {//计算面积
return (x2 - x1) * (y2 - y1);
}
};
int main() {
Rectangle r(0, 0, 3, 4);//创建一个矩形
cout << "周长为:" << r.getLength() << endl;//输出周长
cout << "面积为:" << r.getArea() << endl;//输出面积
return 0;
}
相关问题
用c++来设计并测试一个矩形类,属性为矩形的左下与右上角的坐标,矩形水平放置。计算矩形周长与面积
好的,这个问题是关于程序设计方面的,我可以为你提供答案。
以下是一个简单的矩形类的设计,包括属性和两个方法来计算矩形的周长和面积:
```C++
class Rectangle {
public:
int x1, y1; // 矩形左下角坐标
int x2, y2; // 矩形右上角坐标
int perimeter(); // 计算周长
int area(); // 计算面积
};
// 计算周长的方法
int Rectangle::perimeter() {
return 2 * (x2 - x1 + y2 - y1);
}
// 计算面积的方法
int Rectangle::area() {
return (x2 - x1) * (y2 - y1);
}
// 在 main 函数中测试
int main() {
Rectangle rect;
rect.x1 = 0;
rect.y1 = 0;
rect.x2 = 5;
rect.y2 = 3;
cout << "周长:" << rect.perimeter() << endl;
cout << "面积:" << rect.area() << endl;
return 0;
}
```
运行结果如下:
```
周长:16
面积:15
```
希望这个答案能够帮到你!
C++设计并测试一个矩形类,属性为矩形的左下与右上角的坐标,矩形水平放置,操作为计算矩形周长和面积,类对象的数据由友元函数来进行访问
```
#include<iostream>
using namespace std;
class Rectangle {
friend double getPerimeter(Rectangle r);
friend double getArea(Rectangle r);
private:
double x1, y1, x2, y2;
public:
Rectangle(double x1, double y1, double x2, double y2) {
this->x1 = x1;
this->y1 = y1;
this->x2 = x2;
this->y2 = y2;
}
};
double getPerimeter(Rectangle r) {
double length = r.y2 - r.y1;
double width = r.x2 - r.x1;
return 2 * (length + width);
}
double getArea(Rectangle r) {
double length = r.y2 - r.y1;
double width = r.x2 - r.x1;
return length * width;
}
int main() {
Rectangle r(0, 0, 4, 3);
cout << "Perimeter: " << getPerimeter(r) << endl;
cout << "Area: " << getArea(r) << endl;
return 0;
}
```
阅读全文