下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

深入了解VC++的重载函数

作者:课课家教育     来源: http://www.kokojia.com点击数:1050发布时间: 2017-03-02 13:00:59

标签: VC++编程代码构造函数

大神带你学编程,欢迎选课

  重载函数是函数的一种特殊情况,重载函数常用来实现功能类似而所处理的数据类型不同的问题。重载函数(over loaded function)是C++支持的一种特殊函数,今天小编就带大家深入了解VC++的重载函数。

深入了解VC++的重载函数_VC++_编程代码_构造函数_课课家

  VC++的重载函数

  一般情况下,大家都应该希望在构造pt这一个对象的同一时间,传递y以及X这两个坐标的值把。那么这样的话,我们就可以再定义多一个构造函数了。为了大家可以更加深入的理解,大家可以参考下面的示范例子哟。具体的程序代码,如下图:

示范例子

  大家有没有观察到,在这一个应用程序中,有多少个构造函数呢?没错,答案就是两个。而且这两个构造函数的函数名是相同的,仅仅只是参数的个数以及类型不相同而已。那么其实这样子在C语言中是并不允许的,然而在C++中上面的定义完全是合理合法的,那么这就是我们今天所要学习的C++中函数的重载(即overload)。当我们在执行main函数里面的pointpt(5,5)这一条语句的时候,C++编译器就会根据参数的个数以及参数的类型来确定一下究竟执行哪一个构造函数先。那么在这里的话,我们就要执行一下point(inta,intb)这一个函数的。

  现在小编再来为大家介绍一下,构成重载函数需要哪些条件吧?具体需要的条件如下:函数的参数类型、参数个数不一样。只有满足以上的条件,才可以真正的构成函数的重载。那么现在我们就来练习一下,尝试着分析下面的两种情况吧,看一看这两种情况是不是可以构成函数的重载?

  第一种情况:

  ①void output(inta);

  ②void output(inta,intb=5);

  第二种情况:

  ①int output();

  ②void output();

  对于第一种情况的话,当我们在应用程序里面调用output(5)的时候,首先应该调用的究竟是哪一个函数呢?那么调用(2)的函数是否可以呢?答案是:当然可以啦。因为(2)的函数第二个参数是拥有一个默认值的。那么在这里就可以认为是调用的是第二个函数了;当然啦,我们在这里也是可以调用(1)的函数。但是我们在这里要注意一点,那就是因为调用是有歧义的,所以这一种情况也是不可以构成函数的重载。在函数重载的时候,我们注意要注意一点,那就是函数带有默认参数的这一种情况。

  那么现在我们就来讨论一下第二种情况吧。当我们在应用程序中调用output()函数的时候,大家有没有想过应该是调用的是哪一个函数的呢?在这里,我们要注意咯。那就是只有函数的返回类型不一样,这是不可以构成函数的重载的。经过上面的一番讨论,对于VC++的重载函数你都理解了吗?

  小编结语:

  通过这篇编程语言教程,不知道大家是否已经学会了VC++的重载函数呢?在这篇教程中,主要就是向大家介绍一下VC++的重载函数。希望这对大家有所帮助。你的支持就是课课家教育最大的动力,欢迎进入课课家教育!

赞(20)
踩(1)
分享到:
华为认证网络工程师 HCIE直播课视频教程