C++。不明白该怎么在类Rectangle中去用函数进行计算并输出矩形坐标和面积。我该怎么做?
#include
using namespace std;
class Point{
public:
//set
void setX(int x) { p_x = x; }
void setY(int y) { p_y = y; }
//get
int getX() { return p_x; }
int getY() { return p_y; }
private:
int p_x;
int p_y;
};
class Rectangle {
public:
//set
void setLD(Point l) { LD = l; }//LD是左下点,RU是右上点。
void setRU(Point r) { RU = r; }
//get
Point getLD() { return LD; }
Point getRU() { return RU; }
private:
Point LD;
Point RU;
};
在类Rectangle中新增计算矩形面积函数如下:
// 计算矩形面积
int getArea() {
// 打印四个点的坐标
cout << "矩形坐标如下:" << endl;
cout << "左下:" << LD.getX() << ", " << LD.getY() << endl;
cout << "左上:" << LD.getX() << ", " << RU.getY() << endl;
cout << "右下:" << RU.getX() << ", " << LD.getY() << endl;
cout << "右上:" << RU.getX() << ", " << RU.getY() << endl;
// 计算面积 右上的x - 左下的x 得到宽,左下的y - 右上的y 得到高。
int area = (RU.getX() - LD.getX()) * (LD.getY() - RU.getY());
return area;
}
在main函数中测试如下:
int main(int argc, const char * argv[]) {
Point ld = Point();
ld.setX(5);
ld.setY(100);
Point ru = Point();
ru.setX(15);
ru.setY(50);
Rectangle r = Rectangle();
r.setLD(ld);
r.setRU(ru);
int area = r.getArea();
cout << "矩形面积为:" << area << endl;
return 0;
}
希望可以帮你解决问题
void gets{
(getRU().getX()-getLD().getX())*(getRU().getY()-getLD().getY());
}
类Rectangle里的set方法参数列表是Point类型的,你可以在主函数先创建两个Point类对象并给属性赋值,然后创建两个Rectangle类对象,把前面的两个Point类对象当形参传入Rectangle类对象的set形参列表里,最后调用get方法得到坐标或者利用坐标相减得到长度进一步求面积都可以