这个题目的解决方案如下:
/*
设计并测试一个名为Rectangle的矩形类,
其属性为矩形的左下角与右上角两个点的坐标,根据坐标能计算矩形的面积。
*/
#include <iostream>
//点类
class Point {
public:
//设置x坐标
void setm_x(int x) {
m_X = x;
}
//获取x坐标
int getm_x() {
return m_X;
}
//设置y坐标
void setm_y(int y) {
m_Y = y;
}
//获取y坐标
int getm_y() {
return m_Y;
}
private:
int m_X;
int m_Y;
};
//矩形类
class Rectangle {
public:
//设置左下角点的坐标
void setleftdown(Point p) {
leftdown = p;
}
//获取左下角点的坐标
Point getleftdown() {
return leftdown;
}
//设置右上角点的坐标
void setrightup(Point q) {
rightup = q;
}
//获取右上角点的坐标
Point getrightup() {
return rightup;
}
private:
Point leftdown; //左下角坐标
Point rightup; //右上角坐标
};
//测试
void test01() {
Point leftdown;
Point rightup;
//设置左下角点x坐标
int ldx;
std::cout << "请输入左下角点x坐标:" << std::endl;
std::cin >> ldx;
//设置左下角点y坐标
int ldy;
std::cout << "请输入左下角点y坐标:" << std::endl;;
std::cin >> ldy;
leftdown.setm_x(ldx); //设置左下角x坐标
leftdown.setm_y(ldy); //设置左下角y坐标
int rux; //设置右上角x坐标
std::cout << "请输入右上角点的x坐标:" << std::endl;
std::cin >> rux;
int ruy; //设置右上角y坐标
std::cout << "请输入右上角点y的坐标:" << std::endl;
std::cin >> ruy;
rightup.setm_x(rux);
rightup.setm_y(ruy);
//计算长方形的面积
int S;
S = (rightup.getm_x() - leftdown.getm_x())*(rightup.getm_y() - leftdown.getm_y());
std::cout << "矩形的面积为:" << S << std::endl;
}
int main()
{
test01();
//std::cout << "Hello World!\n";
}