函数重载以及输入参数与输出参数--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

猜你喜欢

转载自blog.csdn.net/qq_58476985/article/details/128882374
今日推荐