📜  C 和 C++ 的区别

📅  最后修改于: 2021-09-13 03:03:42             🧑  作者: Mango

CC++之间的相似之处是:

  • 这两种语言都有相似的语法。
  • 两种语言的代码结构相同。
  • 这两种语言的编译是相似的。
  • 它们共享相同的基本语法。几乎所有 C 的运算符和关键字也都出现在 C++ 中,并做同样的事情。
  • C++ 的语法比 C 稍有扩展,但基本语法是一样的。
  • 两者的基本内存模型都非常接近硬件。
  • 两种语言中都存在堆栈、堆、文件范围和静态变量的相同概念。

CC++之间的差异是:
C++可以说是C的超集。C++的主要新增特性是面向对象编程、异常处理和丰富的C++库。

下面是 C 和 C++ 之间的差异表:

C C++
C was developed by Dennis Ritchie between the year 1969 and 1973 at AT&T Bell Labs. C++ was developed by Bjarne Stroustrup in 1979.
C does no support polymorphism, encapsulation, and inheritance which means that C does not support object oriented programming. C++ supports polymorphism, encapsulation, and inheritance because it is an object oriented programming language.
C is a subset of C++. C++ is a superset of C.
C contains 32 keywords. C++ contains 63 keywords.
For the development of code, C supports procedural programming. C++ is known as hybrid language because C++ supports both procedural and object oriented programming paradigms.
Data and functions are separated in C because it is a procedural programming language. Data and functions are encapsulated together in form of an object in C++.
C does not support information hiding. Data is hidden by the Encapsulation to ensure that data structures and operators are used as intended.
Built-in data types is supported in C. Built-in & user-defined data types is supported in C++.
C is a function driven language because C is a procedural programming language. C++ is an object driven language because it is an object oriented programming.
Function and operator overloading is not supported in C. Function and operator overloading is supported by C++.
C is a function-driven language. C++ is an object-driven language
Functions in C are not defined inside structures. Functions can be used inside a structure in C++.
Namespace features are not present inside the C. Namespace is used by C++, which avoid name collisions.
Header file used by C is stdio.h. Header file used by C++ is iostream.h.
Reference variables are not supported by C. Reference variables are supported by C++.
Virtual and friend functions are not supported by C. Virtual and friend functions are supported by C++.
C does not support inheritance. C++ supports inheritance.
Instead of focusing on data, C focuses on method or process. C++ focuses on data instead of focusing on method or procedure.
C provides malloc() and calloc() functions for dynamic memory allocation, and free() for memory de-allocation. C++ provides new operator for memory allocation and delete operator for memory de-allocation.
Direct support for exception handling is not supported by C. Exception handling is supported by C++.
scanf() and printf() functions are used for input/output in C. cin and cout are used for input/output in C++.
C structures don’t have access modifiers. C++ structures have access modifiers.
想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解基础加 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程