【基础知识】C语言和C++的区别

1、C 和 C++ 的最大区别,在于他们解决问题的思想方法不一样。C 语言是面向过程的语言,而C++的面向对象的语言,所以 C 语言自然没有面向对象的封装、继承和多态等特性,也不支持面向对象的一些语法;

面向对象思想是基于面向过程思想的,要说面向对象思想,先来说说面向过程思想:
(1)面向过程思想,完成一个需求步骤:首先要搞清楚要做什么,然后分析怎么做,最后再通过代码体现,一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,从而完成需求。在上面的每一个具体的步骤中我们都是参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。面向过程编程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能函数相互调用,完成需求。
(2)面向对象思想,面向对象的思想是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,把客观世界中的实体抽象为问题域中的对象。面向对象以对象为核心,该思想认为程序是由一系列对象组成。
    特点:
        ●是一种更符合人类思维习惯的思想
        ●可以将复杂的问题简单化
        ●将我们从执行者变成了指挥者

面向过程和面向对象解决问题举例:
以洗衣服为例 :
1、面向过程 :接水到盆中——放入衣服——加入洗衣粉——浸泡——搓衣服——过水——拧干——晾干
2、面向对象 :将衣服放入洗衣机——加入洗衣粉——开启——晾干

2、C++ 支持函数重载,C 语言不支持;

3、C 程序中如果函数没有任何参数,需要将参数定义为 void,以此来限定函数不可传递任何参数,如果不进行限定,让参数表默认为空,其意义是可以传递任何参数。在 C++ 中,不带参数的函数表示该函数不能传递任何参数;

4、C 语言 struct 中不能有函数,而 C++ 语言 struct 中可以有函数,且允许函数是虚函数;

5、C 语言函数参数不支持默认值,而 C++ 语言支持参数默认值;

6、C++ 支持内联函数,而 C 语言不支持;

7、C++ 支持引用,而 C 语言不支持;

8、C 语言采用 malloc 和 free 函数动态申请和释放内存,而 C++ 使用 new 和 delete 运算符;

9、C 语言中只有局部和全局两个作用域,而 C++ 中有局部、全局、类、名称空间作用域。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值