用c++,在线等急,谢谢 定义一个矩形类Rectangle,矩形的左上角(L

用c++,在线等急,谢谢定义一个矩形类Rectangle,矩形的左上角(L定义一个矩形类Rectangle,矩形的左上角(Left.Top)与右下角(Right.Bott... 用c++,在线等急,谢谢
定义一个矩形类Rectangle,矩形的左上角(L定义一个矩形类Rectangle,矩形的左上角(Left.Top)与右下角(Right.Bottom)坐标定义为保护数据成员,用公有成员函数Diagonal()计算矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)然后调用Show()显示矩形左上角与右上角坐标及对角线长度。最后用delete运算符回收为矩形动态分配的存储空间。
展开
 我来答
Miafifi
2016-06-15 · TA获得超过451个赞
知道小有建树答主
回答量:277
采纳率:93%
帮助的人:172万
展开全部
#include <iostream>
#include <cmath>
using namespace std;
class Point_lt {
protected:
double _x;
double _y;
Point_lt ( double x=0.0, double y=0.0 ): _x(x), _y(y) {}
};
class Point_rb {
protected:
double _x;
double _y;
Point_rb ( double x=0.0, double y=0.0 ): _x(x), _y(y) {}
};
class Rectangle: public Point_lt, public Point_rb {
public:
Rectangle ( double x_lt, double y_lt, double x_rb, double y_rb )
: Point_lt( x_lt, y_lt ), Point_rb( x_rb, y_rb ) {}
void show() {
double diag = sqrt((Point_rb::_x - Point_lt::_x) * (Point_rb::_x - Point_lt::_x)
            + (Point_rb::_y - Point_lt::_y) * (Point_rb::_y - Point_lt::_y));
cout << "P_lt = [" << Point_lt::_x << "," << Point_lt::_y << "]\n";
cout << "P_rb = [" << Point_rb::_x << "," << Point_rb::_y << "]\n";
cout << "diagonals = " << diag << '\n';
}
};
int main(int argc, char *argv[]) {
Rectangle* square = new Rectangle( 10,10,20,20 );
square->show();
delete square;
}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式