C++类和对象--已知一个矩形对角线两点的坐标,求它的周长面积以及两点间的距离,只适用于正交二维坐标的矩形

题目要求

已知两点间的距离,使用类和对象:
1、用distance函数计算两点间的距离
2、求矩形的周长和面积

代码内容

#include<iostream>
#include<cmath>
using namespace std;
class point{
	public:
		point(){};	//无参构造
		//带参构造 
		point(float xx,float yy){
			x=xx;
			y=yy;
		};
		//返回私有成员变量x的值 
		float getx(){
			return x;
		} 
		float gety(){
			return y;
		}
	//定义私有成员变量 
	private:
		float x,y;
}; 
class line{
	public:
		line(){};	//无参构造 
		float distance(point p1,point p2);	//声明成员函数,参数类型为point类 
		static void display(point p1,point p2);	//声明静态成员函数 
	//private:
		//point p1,p2;
};
//类外定义非静态成员函数 
float line::distance(point p1,point p2){
	//计算两点间的距离 
	return sqrt(pow(p1.getx()-p2.getx(),2)+pow(p1.gety()-p2.gety(),2));
}
//定义静态成员函数 
void line::display(point p1,point p2){
	cout<<"周长为:"<<fabs(p1.getx()-p2.getx())*2+fabs(p1.gety()-p2.gety())*2<<endl;
	cout<<"面积为:"<<fabs(p1.getx()-p2.getx())*fabs(p1.gety()-p2.gety())<<endl;
}
int main(){
	float a,b,c,d;
	cout<<"输入两点坐标" <<endl; 
	cin>>a>>b>>c>>d; 
	point p1(a,b),p2(c,d);//建立point类对p1、p2 
	line l;//建立line类对象l 
	cout<<"两点间的距离为:"<<l.distance(p1,p2)<<endl;//通过对象调用distance函数 
	line::display(p1,p2);	//调用静态成员函数 
	return 0;
}

测试结果

在这里插入图片描述

总结

这个实验主要是让我们掌握声明类的方法,类和类的成员的概念以及定义对象的方法,初步掌握用类和对象编制基于对象的程序

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,我知道了。这里是用 C 语言编写的一个简单的矩形类,可以根据两点来计算矩形面积周长: ```c #include <stdio.h> #include <math.h> struct point { float x; float y; }; struct rectangle { struct point pt1; struct point pt2; }; float distance(struct point a, struct point b) { float dx = a.x - b.x; float dy = a.y - b.y; return sqrt(dx * dx + dy * dy); } float perimeter(struct rectangle rect) { float width = distance(rect.pt1, rect.pt2); float height = distance((struct point){rect.pt1.x, rect.pt2.y}, (struct point){rect.pt2.x, rect.pt1.y}); return 2 * (width + height); } float area(struct rectangle rect) { float width = distance(rect.pt1, rect.pt2); float height = distance((struct point){rect.pt1.x, rect.pt2.y}, (struct point){rect.pt2.x, rect.pt1.y}); return width * height; } int main() { struct rectangle rect = {{0,0},{2,2}}; printf("The perimeter of the rectangle is %f\n", perimeter(rect)); printf("The area of the rectangle is %f\n", area(rect)); return 0; } ``` 在这个示例中,我们首先定义了一个 `point` 结构体来表示二维平面上的一个点,然后定义了一个 `rectangle` 结构体来表示一个由两个点确定的矩形。接下来我们实现了一个 `distance` 函数来计算两个点之距离,这个函数用到了勾股定理。最后我们定义了 `perimeter` 和 `area` 函数来分别计算矩形周长面积,这里用到了上面定义的 `distance` 函数。 在 `main` 函数中,我们定义了一个矩形 `rect`,并且输出了它的周长面积。 希望这个示例能够帮助你理解如何用 C 语言编写简单的矩形类!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

82年苏打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值