第七周实验报告 任务二

本次实验报告主要讲述了在完成任务二的过程中,根据提供的模板进行编程。尽管过程中因粗心将CPoint误写成CPiont导致错误,并在多个地方出现,但通过友元函数的运用,体验到了编程的乐趣。此次事件强调了编程中细心的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源程序:

#include<iostream>

#include<cmath>

using namespace std;

class CPoint  
{
	
public: 

    CPoint(double xx=0,double yy=0):x(xx),y(yy){}  

	double distance1(CPoint &p);//成员函数的声明

	friend double distance2(CPoint &, CPoint &);//友元函数的声明

	double getx();//用于调出私有成员x

	double gety();//用于调出私有成员y

private:  
	
    double x;  // 横坐标  
	
    double y;  // 纵坐标  
	
};

double distance3(CPoint &p1, CPoint &p2);//一般函数的声明

double CPoint::distance1(CPoint &p)//成员函数的定义
{
	return (sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y)));
}

double distance2(CPoint &p1, CPoint &p2)//友元函数的定义
{
	return (sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)));
}

double distance3(CPoint &p1, CPoint &p2)//一般函数的定义
{
	return (sqrt((p1.getx() - p2.getx()) * (p1.getx() - p2.getx()) + (p1.gety() - p2.gety()) * (p1.gety() - p2.gety())));
}

double CPoint::getx()
{
	return x;
}

double CPoint::gety()
{
	return y;
}
int main()
{
	CPoint a(1, 0), b(3, 0);

	cout << "利用成员函数输出距离:" << a.distance1(b) <<endl;

	cout << "利用友元函数输出距离:" << distance2(a, b) <<endl;

	cout << "利用一般函数输出距离:" << distance3(a, b) <<endl;

system("pause");

return 0;

截图:

 

这个程序与上次的程序差不太多~再加上贺老慈悲的发了个模板···照猫画虎做起来没有遇到太多困难···但是也遇到了一些问题···特别是粗心···一不小心将CPoint写成了CPiont···然后复制粘贴到了好几个地方···呵呵···好傻···必需细心才行啊···友元函数真的挺有意思哈~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值