函数重载以及输入参数与输出参数--C语言实现

该博客介绍了如何在C++中实现函数重载,以计算两个点之间的中点坐标。首先定义了一个Point结构体来描述平面上的点,接着讨论了如何通过return和输出参数来返回中点。文中强调了使用const来明确函数功能,并通过函数重载提高代码的可读性。编程任务要求学员在给定的f.cpp文件中实现相关函数,以计算两点的中点坐标。

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

任务描述

给定2个点的坐标(均为整数),求其中点坐标(保证为整数)。

如果输入的两个点分别是(0,0)和(2,2),则其中点应该是(1, 1)。

相关知识

平面上的点,这种东西在C++中是没有对应数据类型的。因此需要先定义一个结构体来进行描述。

中点的计算自己想。

同样的,计算出中点以后,可以设计两种办法进行返回。第一个是通过return,第二个是通过输出参数。 采用输出参数时,会出现一件非常有意思的事情

 
  1. void f(Point&A,Point&B,Point&C){
  2. //进行计算
  3. }

这个函数有3个参数,类型全部是Point结构体的引用。这个函数是计算AB的中点并将其保存至C,还是计算BC的中点并将其保存至A,甚至是计算AC的中点保存至B,到底是哪一个?

为了明确这个函数的功能,这个时候就需要const出马了。

 
  1. void f(const Point&A,const Point&B,Point&C){
  2. //进行计算
  3. }

这一下,功能明确了! A和B称为输入参数,常见的一般都是输入参数。C称为输出参数,出于效率的考虑,C++也相当多的使用输出参数。

另一方面,如果考虑到代码的易读性,直接返回点也是可以的,因为毕竟Point这个结构体不算太大。这样一来,f函数就进行了重载。即:函数名相同而形参不同。

编程要求

本关与前面的实训有所不同。本关一共有3个文件。main.cpp、f.h和f.cpp。其中main.cpp是主函数,f.h则是函数头的声明,这两个文件均已写好,且不允许修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

墨染盛夏呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值