c++初识,c++与c语言区别。及函数重载,缺省值等等

35 篇文章 4 订阅

1.关键字数量不同

2.文件区别,即后缀名不同

c语言后缀名为.c

c++后缀名为.cpp

3.返回值不同

c语言,如果一个函数没有指定返回值类型,默认返回值类型为int,

c++,如果一个函数没有指定返回值类型,默认返回值类型为void

4.参数列表

c语言中,函数没有指定参数列表时,默认可以接收任意多个参数。

c++中,因为严格的参数类型检测,没有参数列表的函数,默认为void,不接受任何参数。

5.缺省参数

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

c语言不支持缺省参数



c++支持缺省参数


(1)半缺省

          即部分参数有缺省值(从左往右依次给出,不能隔着给,跳着给)

(2)全缺省

          所有参数都有缺省值

缺省值注意:1.带缺省值的参数必须放在参数表的最后面

                        2.缺省参数不能同时在函数声明和函数定义中出现,只能任选其一(最好放声明)

                        3.缺省值必须是常量或全局变量

注意:

慎用缺省函数,否则会产生二义性

如下图,编译器不知道调用哪个,产生二义性


 6.函数重载

什么叫重载,一个词有多重意思  .,即同一个作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数,类型,顺序)必须不同。       

c++支持函数重载。

c语言不支持重载。

函数重载的条件:

1.相同作用域     

2.相同函数名称

3.函数参数列表必须不同(即参数个数,类型,顺序)

4.仅仅是返回值类型不同不能构成重载               

思考:为什么c语言不支持函数重载,而c++支持?

 原因:c语言对函数名的修改   _函数名

             c++对函数名重命名,且把参数类型编译到名字中 ,具体看下面例子

 

//?Add@@YAHHH@Z    //? 函数名 @ @ Y A 返回值 参数类型 @(如果无参数,此@不用写  )z
H代表int形,D代表char型,X代表void

7.c语言面向过程----------------》就是函数

c++基于面向对象(不是纯面向对象)---------------》对象指的是类的实例,将对象作为程序的基本单元,将函数(程序)和变量 (数据)封装其中,提高软件灵活性


       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值