All the major difference between C and C++, that’s what i am going to tell you. Before that, let’s learn some history about C and C++.
The programming language “C”, was developed and introduced by Dennis Ritchie in 1972. C is a structure oriented programming language, most of it’s featured were derived from Basic Combined Programming Language, also know as BCPL.The main implementation area of C was UNIX operating system. In 1983, the ANSI or American National Standards Institute, founded a committee to provide a modern and comprehensive definition for C, later known as “ANSI C”.
C++ was developed by Bjarne Stroustrup starting in 1979, at famous Bell Labs. C++ is an object oriented programming (OOP) language and it’s actually an extension of C language. C++ also pronouns as “C-Plus-Plus”.
Now, i am going to list all the major difference between C and C++.So, let’s take a look.
All the major difference between C and C++
|C is a structural or procedural programming language or Procedural programming paradigm
|C++ supports both procedural and object oriented programming paradigms. Mainly, Object Oriented Programming (OOP).
|C is not Object Oriented Programming Language. Therefore it do not support Encapsulation, Inheritance, Polymorphism
|Support Encapsulation, Inheritance, Polymorphism
|Based on Procedure (Steps) to solve any problem
|Based on objects rather than procedures
|In C, functions and data are separate and free entities ( This is due to it’s procedural programming language nature)
|In C++,functions and data are encapsulated as an object. Class provides the structure of an Object
|Fundamental building blocks are Procedures
|Fundamental building blocks are Objects
|Data, manipulated outside the code. Because this information hiding/encapsulation not possible
|Encapsulation, encapsulates the data to make ensure that data structures and operators are used as intended
|C, uses Top Down Approach
|C, uses Bottom Up Approach
|C, is a Function driven language
|C++, an Object driven language
|scanf() and printf() functions for std input and output
|cin>> and cout<< for std input and output
|C, not supports Function and Operator overloading
|C++, Supports both Function and Operator overloading
|In C, Variables defined at the beginning.
|In C++, Variables can define anywhere in the function
|In C, Do not allow Functions inside Structures
|In C++, Allow Functions inside Structures
|Namespace are not possible
|Namespace are possible
|Do not support Reference variables
|Supports Reference Variables
|Middle Level Language
|High Level Language
|Do not support Virtual and Friend functions
|Support both Virtual and Friend functions
|In C, Programs are divided into modules and functions
|In C++, Programs are divided into classes and functions
calloc() functions are used for dynamic memory allocation. Also,
free() for memory de-allocation
new operator for memory allocation. Also,
free operator for memory de-allocation
|Doesn’t support exception handling directly
|Supports exception handling. By using try and catch block
|Uses extention “.C” for saving file
|Uses extention “.CPP” for saving file
I hope you like this article, All the major difference between C and C++. And also hopes that, you understand all the points mentioned above. If you have any doubts or anryexamples, drop your comments below.