The major Difference Between C and C++ is that C is a procedural shows language and also does not support classes and also objects, while C++ is a combination of both procedural and also object oriented shows language; as a result C++ can be called a hybrid language. This Difference between C and C++ explains feature-wise difference between both programming languages. The adhering to table offers Difference between C and C++ thoroughly.

Difference Between C And C++

Difference Between C And C++:

C C++
C was developed by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs.C++ was developed by Bjarne Stroustrup in 1979 with C++’s “Classes”.
When compared to C++, C is a subset of C++.C++ is a superset of C. C++ can run most of C code while C cannot run C++ code.
C supports procedural programming paradigm for code development.C++ supports both procedural and object oriented programming paradigms; therefore C++ is also called a hybrid language
C does not support object oriented programming; therefore it has no support for polymorphism, encapsulation, and inheritance.Being an object oriented programming language C++ supports polymorphism, encapsulation, and inheritance.
In C (because it is a procedural programming language), data and functions are separate and free entities.In C++ (when it is used as object oriented programming language), data and functions are encapsulated together in form of an object. For creating objects class provides a blueprint of structure of the object.
In C, data are free entities and can be manipulated by outside code. This is because C does not support information hiding.
In C++, Encapsulation hides the data to ensure that data structures and operators are used as intended.


C, being a procedural programming, it is a function driven language.While, C++, being an object oriented programming, it is an object driven language.
C does not support function and operator overloading.C++ supports both function and operator overloading.
C does not allow functions to be defined inside structures.In C++, functions can be used inside a structure
C does not have namespace feature.C++ uses NAMESPACE which avoid name collisions.
C uses functions for input/output. For example scanf and printf.C++ uses objects for input output. For example cin and cout.
C does not support reference variables.C++ supports reference variables.
C has no support for virtual and friend functions.C++ supports virtual and friend functions.
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.
C does not provide direct support for error handling (also called exception handling)C++ provides support for exception handling. Exceptions are used for “hard” errors that make the code incorrect.
Facebook Comments
[Total: 0    Average: 0/5]