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

任务描述

给定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++也相当多的使用输出参数。

另一方面,如果考虑到代码的易读性,直接返回点也是可以的,因为毕竟P

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

墨染盛夏呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值