友元类 求线段长度

定义Point类和Line类,其中Line类是Point类的友元类,包含两个Point对象,分别表示起点和终点,根据程序框架补充必要的函数,并实现Line的len函数,计算线段的长度。

PS:结果可读性没有到位,后期可以加显示线段的起点终点,再求长度。

#include<iostream>
using namespace std;
#include<math.h>
class Line;//提前声明Line类存在 
class Point{//定义Point类 
	private:
		int x;//x,y坐标 
		int y;
	public:
		Point(){//自定义默认构造函数 
		}
	    Point(int x,int y){//带参数构造函数 
	    	this->x=x;
	    	this->y=y;
		} 
	friend class Line;//声明Line是Point的友元类 
}; 

class Line{//定义Line类 
	private:
		Point sp;//起点和终点 
		Point ep;
	public:
		Line(Point p1,Point p2){//带参数的构造函数 
		 sp=p1;
		 ep=p2;
		}
		double len(){//长度计算 
			return sqrt(pow(sp.x-ep.x,2)+pow(sp.y-ep.y,2));
		}
};

int main(){
	Point p1(0,4),p2(3,0);//定义Point类对象 
	Line L(p1,p2);//定义Line类对象 
	cout<<"长度为"<<L.len()<<endl;//返回计算结果 
	return 0;
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值