在平面上作两个点,连一直线,求直线的长度和直线中点的坐标。
具体要求:
1、基类为Dot,有两个公有数据成员,即平面上的坐标(x,y),同时有构造函数及输出数据函数。
2、派生类为Line,有两个基类Dot对象,分别存放两点的坐标,同时,从基类继承了一个Dot数据,存放直线中点的坐标。
初学者寒假自学c++
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
qfl_sdu 2022-12-20 17:17关注运行示例:

代码:
#include <iostream> #include <math.h> using namespace std; class Dot { public: double mx, my; Dot(double x =0, double y=0) :mx(x), my(y) {} void display() { cout << "(" << mx << "," << my << ")"; } }; class Line :public Dot { public: Dot md1, md2; Line(double x1, double y1, double x2, double y2) { md1.mx = x1; md1.my = y1; md2.mx = x2; md2.my = y2; //计算中点 mx = (x1 + x2) / 2; my = (y1 + y2) / 2; } void show() { cout << "起点"; md1.display(); cout << ",终点"; md2.display(); cout << ",中点"; display(); cout << endl; } double length() { double len = (md1.my - md2.my) * (md1.my - md2.my) + (md1.mx - md2.mx) * (md1.mx - md2.mx); return sqrt(len); } }; int main() { Line ln(0,0,5,5); ln.show(); cout << "长度:" << ln.length() << endl; return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用