编程基础篇:(已知:线段中点坐标公式为:(x,y)=(( x1+ x2)/2,(y1+y2)/2),线段长度公式为:L= sqrt((x1-x2)^2-(y1-y2))

#include<iostream>
#include<math.h>
using namespace std;
class Dot {
		//定义基类:点
		public:
		float x,y;
		Dot(float a=0,float b=0) {
			x=a;
			y=b;
		}
		void Show() {
			cout<<"x="<<x<<'\t'<<"y="<<y<<endl;
		}
};
class Line:public Dot {
		 //定义派生类线
		Dot d1,d2;
		//定义基类对象成员d1,d2为派生类的数据成员
		public:
		Line(float X1,float Y1,float X2,float Y2):d1(X1,Y1),d2(X2,Y2) {
			//定义line类的构造函数
			x=(X1+X2)/2;
			y=(Y1+Y2)/2;
		}//在构造函数中实现求线段的中点坐标
		void Showl(void) {
			cout<<"Dot1: ?";
			d1.Show();
			cout<<"Dot2: ?";
			d2.Show();
			cout<<"Length="<<sqrt(pow((d1.x-d2.x),2)+pow((d1.y-d2.y),2))<<endl;//求线段的长度
			cout<<"Center: ?"<<"x="<<x<<'\t'<<"y="<<y<<endl;
		}
};
int main() {
	float a,b;
	cout<<"Input Dot1: \n";
	cin>>a>>b;
	Dot dot1(a,b);
	cout<<"Input Dot2: \n";
	cin>>a>>b;
	Dot dot2(a,b);
	Line line (dot1.x,dot1.y,dot2.x,dot2.y);
	//创建线对象,并利用构造函数初始化
	line.Showl();
	return 0;
}

注意函数初始化表的灵活应用哦,搞清楚概念,此题就迎刃而解了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值