c语言和c++的根本区别是什么啊?

c语言和c++的根本区别是什么啊?

C++包括C的所有东西,C程序也是合法的C++程序。反过来不成立。

C++扩展了C的语法,最主要增强是支持面向对象,从struct扩展出class,实现类的概念;支持类继承、方法重载;利用virtual函数实现多态性;使用template实现范型。这些都是面向对象的支持,有了这些扩展,C++实现了基本的OO范型,可以称为面向对象程序设计语言。而C没有这些特性,不能成为面向对象语言,C只是一种过程语言。

C++还引入了一些新的元素,比如引用类型,在代码中间定义自动变量等等,可以方面编程。
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-10-13
C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。
C是一个结构化语言。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
对语言本身而言,C是C++的子集,那么是什么样的一个子集?从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。
再提高一点,在C++中,数据封装、类型这些东东已不是什么新鲜事了,需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用等等问题。
所以相对于C,C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习
第3个回答  2006-10-13
c 面向过程
c++ 面向对象

c++和c语言的区别是什么?
c++与c语言的区别是对象不同、函数库不同、结构不同、设计思想不同。1、对象不同C语言是面向过程的,而C++是面向对象的。2、函数库不同C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对W...

C与 C++ 的真正区别在哪里?
1、结构不同 C语言:C语言结构只有成员变量,而没成员方法。C++:C++结构中可以有自己的成员变量和成员函数。2、设计不同 C语言:C语言进行过程化、抽象化的通用程序设计。C++:C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的...

c++和C语言的区别?
C语言与C++的区别有很多:1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个...

c语言和c++语言有什么区别
1. 语法差异:虽然C++是基于C语言的,但两者在语法上存在诸多不同。例如,C++支持更多的数据类型和操作符号,如引用、动态内存分配等。此外,C++支持类和对象的概念,具有继承、多态等特性。而C语言更注重基本的数据操作和功能实现。2. 面向对象支持:C语言不支持面向对象编程,而C++则全面支持。面向对象...

c语言和c++语言有什么区别
C语言和C++语言的主要区别 一、基本区别 C++是C语言的超集,这意味着C++包含了C语言的所有特性,同时添加了更多高级功能和抽象概念。简单来说,所有有效的C程序在C++环境中也是有效的,但C++更具扩展性和灵活性。二、详细解释 1. 语言特性的扩展:C++相较于C语言增加了更多的特性,例如类、对象、继承...

c语言和c++语言的区别是什么?
C语言和C++语言的区别 一、语言特性的差异 1. 继承与扩展性: C++ 是 C 语言的扩展,继承了 C 语言的大部分特性,并增加了面向对象编程的特性,如类、封装和继承等。这使得 C++ 更适合于大型复杂项目的开发。而 C 语言主要是一种过程式语言,不具备面向对象的能力。2. 类型安全性: C++ 具有更...

C语言和C++有什么区别?
一、主体不同 1、C语言:是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。2、C++:是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。二、优势不同 1、C语言:能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器...

c语言与c++的区别?
<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出zhi流。区别如下:1、应用场合不同:C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性;正是因为...

c语言和c++的区别和联系
一、C语言和C++语言的区别 1、面向对象编程:C语言不支持面向对象编程,而C++语言支持面向对象编程。面向对象编程是一种编程范型,它将数据和操作封装在一起,形成对象。C++语言通过类、继承和多态等机制实现面向对象编程。2、异常处理:C语言不支持异常处理,而C++语言支持异常处理。异常处理是一种处理程序...

c语言和c++的区别和联系是什么?
C语言和C++的区别:一、区别 1. 语言特性:C语言是一种过程式编程语言,注重过程和函数;而C++是一种面向对象的语言,除了过程,更注重对象、类及其操作。2. 内存管理:在C语言中,程序员负责管理所有内存分配和释放;而在C++中,除了手动管理内存外,还引入了自动内存管理,如智能指针等。3. 扩展性...

相似回答