0
点赞
收藏
分享

微信扫一扫

C、C++、JAVA

琛彤麻麻 2022-03-12 阅读 124

文章目录

C与C++的区别与联系

  1. 区别
    (1)主体不同。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛用于底层开发;C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。
    (2)优势不同。C语言能以简易的方式编译,处理低级存储器。C语言是仅产生少量的机器语言且不需要任何运行环境支持便能运行的高效率程序设计语言;C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述。
    (3)特点不同。C语言提供了许多低级处理的功能,但仍然能保持着跨平台的特性,以一个标准规格写出的C语言程序可在多个计算机平台上进行编译;在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

  2. 联系
    (1)C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式——面向对象编程、泛型编程和过程化编程。其编程领域众广,常用于系统开发、引擎开发等应用领域,是最受广大程序员使用的最强大编程语言之一,支持类、封装、重载等特性。
    (2)C++在C语言的基础上增加类,C是一个结构性语言,它的重点在于算法和数据结构。C语言的设计首先要考虑的是如何通过一个过程,对输入进行运算处理得到输出;而对于C++,首先要考虑的是如何构建一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程控制。

C++与Java的异同

相同:都使用了面向对象的思想(比如封装、继承、多态等),并且两者具有很好的可重用性。
不同:
(1)Java是解释型语言:源代码通过java编译器编译成字节码交由JVM(Java虚拟机)解释执行;C/C++是编译性语言:源代码经过编译和链接后生成可执行的二进制编码。注:java的执行速度比C/C++慢,java可以跨平台执行,C/C++不可以。
(2)Java纯面向对象:所有的代码都在类中实现,除基本类型外,所有类型都为类;C++兼具面向过程和面向对象的特点。
(3)Java中不存在指针的概念,防止了C++语言中操作指针可能引起的系统问题,使程序更具有安全性。
(4)Java不支持多继承(Java引入了接口的概念,可以同时实现多个接口,也具有多态性);C++支持多继承。C++支持多继承,这是C++的一个特征,它允许多父类派生一个类。虽然多继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也不容易。Java不支持多继承,但允许一个类继承多个接口,实现了C++多继承的功能,又避免了C++中的多继承实现方式带来的诸多不便。
(5)C++需要开发人员去管理对内存的分配,包括申请和释放;Java自己提供了垃圾回收器来实现垃圾的自动回收,不需要 显示的管理内存的分配。
(6)C++支持运算符重载;Java不支持运算符重载。
(7)C++支持预处理,Java没有预处理器,不支持预处理功能。注:Java提供了import机制与C++的预处理功能类似。
(8)Java包含一些标准库,用于完成特定的任务,同时这些库简单易用,能够大大的缩短开发周期;C++依靠一些非标准的,由其它厂商提供的库。

//个人学习记录

举报

相关推荐

【C++】C/C++内存管理

【c++】C/C++内存管理

【C++】C++基础

【C++】C++异常

C++ 、java 和 C# 的区别

0 条评论