C vs C++
What is C?
C is a structural or procedural oriented programming language
which is machine-independent and extensively used in various applications.
C language was developed by the great computer scientist
Dennis Ritchie at the Bell Laboratories. It contains some additional features
that make it unique from other programming languages.
What
is C++?
C++ is a special-purpose programming language developed by Bjarne
Stroustrup at Bell Labs circa 1980. C++ language is very similar
to C language, and it is so compatible with C that it can run 99% of C
programs.
|
Fig: c vs C++ |
The following are the differences between C and
C++:
· Definition
C is a structural programming language, and it does not support classes and
objects, while C++ is an object-oriented programming language that supports the
concept of classes and objects.
· Type of programming language
C supports the structural programming language where the code is checked line
by line, while C++ is an object-oriented programming language that supports the
concept of classes and objects.
· Developer of the language
Dennis Ritchie developed C language at Bell Laboratories while Bjarne
Stroustrup developed the C++ language at Bell Labs circa 1980.
· Subset
C++ is a superset of C programming language. C++ can run 99% of C code but C
language cannot run C++ code.
· Type of approach
C follows the top-down approach, while C++ follows the bottom-up approach. The
top-down approach breaks the main modules into tasks; these tasks are broken
into sub-tasks, and so on. The bottom-down approach develops the lower level
modules first and then the next level modules.
· Security
In C, the data can be easily manipulated by the outsiders as it does not
support the encapsulation and information hiding while C++ is a very secure
language, i.e., no outsiders can manipulate its data as it supports both
encapsulation and data hiding. In C language, functions and data are the free
entities, and in C++ language, all the functions and data are encapsulated in
the form of objects.
· Function Overloading
Function overloading is a feature that allows you to have more than one
function with the same name but varies in the parameters. C does not support
the function overloading, while C++ supports the function overloading.
· Function Overriding
Function overriding is a feature that provides the specific implementation to
the function, which is already defined in the base class. C does not support
the function overriding, while C++ supports the function overriding.
· Reference variables
C does not support the reference variables, while C++ supports the reference
variables.
· Keywords
C contains 32 keywords, and C++ supports 52 keywords.
· Namespace feature
A namespace is a feature that groups the entities like classes, objects, and
functions under some specific name. C does not contain the namespace feature,
while C++ supports the namespace feature that avoids the name collisions.
· Exception handling
C does not provide direct support to the exception handling; it needs to use
functions that support exception handling. C++ provides direct support to
exception handling by using a try-catch block.
· Input/Output functions
In C, scanf and printf functions are used for input and output operations,
respectively, while in C++, cin and cout are used for input and output
operations, respectively.
· Memory allocation and de-allocation
C supports calloc() and malloc() functions for the memory allocation, and
free() function for the memory de-allocation. C++ supports a new operator for
the memory allocation and delete operator for the memory de-allocation.
· Inheritance
Inheritance is a feature that allows the child class to reuse the properties of
the parent class. C language does not support the inheritance while C++
supports the inheritance.
· Header file
C program uses <stdio.h> header file while C++ program
uses <iostream.h> header file.
No comments:
Post a Comment