C和C++的区别主要分为三部分:

 C语言和C++的区别(函数重载)


接下来详细介绍一下函数部分的区别


1、返回类型

 C语言和C++的区别(函数重载)

2、参数列表

C语言和C++的区别(函数重载)

此外,在C++中还支持缺省参数,而C语言不支持。

什么是缺省参数呢?

C语言和C++的区别(函数重载)


缺省参数是声明定义时为函数的参数指定一个默认值。在调用函数时,如果没有指定实参,则采用该默认值,否则使用指定的的实参。


缺省参数又分为全缺省参数和半缺省参数。

全缺省参数:参数列表的每一个参数都给一个默认值。

半缺省参数:从参数列表的右边从右至左依次连续给出默认值(但不是没有参数都给)

举个例子:


void FunTest(int a, int b = 2; int c = 3 )

void FunTest(int a = 2, int b; int c = 3 )×


注意:

1)、带缺省值得参数必须放在参数列表的后边

2)、缺省参数不能再声明和定义中同时给出,一般在声明时给出

3)、缺省值必须是常量会全局变量

4)、缺省参数必须提通过值参或常参传递

 

3、函数重载

什么是函数重载呢?

C语言和C++的区别(函数重载) 


函数返回值可相同也可以不相同

为什么C++支持函数重载而C语言不支持呢?

往下看

4、调用函数时对函数名的改写

在C语言中,在调用函数时对函数名的改写就是直接在函数名的前边加一个_,举个例子(函数名:FunTest   改写后:_FunTest)。这样就导致了编译器就只能通过函数名来辨认一个函数,当有多个函数的函数名一样时就不知道调用哪个了。

在C++中,在对函数名改写的时候会将函数的参数列表和返回值做特殊处理。如下图(VS编译器下):

PS:欢迎提出宝贵意见,谢谢!C语言和C++的区别(函数重载)




相关文章:

  • 2021-08-29
  • 2021-12-18
  • 2021-09-19
  • 2021-10-29
  • 2022-12-23
  • 2021-12-05
猜你喜欢
  • 2022-12-23
  • 2021-12-18
  • 2021-12-18
  • 2021-12-18
相关资源
相似解决方案