C vs C++ Differences
|
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 not 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 52 keywords. |
|
For the development of code, C supports procedural programming. |
C++ is known as a 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 Encapsulation to ensure that data structures and operators are used as intended. |
|
Built-in data types are supported in C. |
Built-in & user-defined data types are 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 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 avoids 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++. |