使用继承与派生机制定义1-3维空间的点类,并编写求点距的函数。
1、定义1维空间的点类dot1d,要求:
(1)用一个protected数据成员x,表示点在一维空间上的位置(坐标),编写一个无参构造函数初始化x的值为0
,再编写一个有参构造函数初始化x为传入的参数值。
(2)编写公有成员函数void showPos(),输出点的坐标(x)。
(3)编写公有成员函数distance(dot1d &),返回值为1维空间中两点的距离。返回类型自定。
(4)定义友元函数distance(dot1d &, dot1d &),返回值为1维空间中两点的距离。返回类型自定。
2、定义2维空间的点类dot2d,要求:
(1)dot2d从dot1d派生,继承来自dot1d的数据成员x,新增一个保护数据成员y,x和y表示点在2维空间的坐标。
编写dot2d的无参和有参构造函数初始化x和y。
(2)重新定义showPos(),输出2维空间中点的坐标(x, y)。
(3)重新定义成员函数distance(dot2d &),返回值为2维空间中两点的距离。返回类型自定。
(4)定义友元函数distance(dot2d &, dot2d &),返回值为1维空间中两点的距离。返回类型自定。
3、定义3维空间的点类dot3d,要求:
(1)dot3d从dot2d派生,继承来自dot2d的数据成员x和y,新增一个保护数据成员z,x, y和z表示点在3维空间的坐标。
编写dot3d的无参和有参构造函数初始化x,y和z。
(2)重新定义showPos(),输出2维空间中点的坐标(x, y, z)。
(3)重新定义成员函数distance(dot3d &),返回值为3维空间中两点的距离。返回类型自定。
(4)定义友元函数distance(dot3d &, dot3d &),返回值为1维空间中两点的距离。返回类型自定。
没有头绪,求各位解惑
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。