- C++ is derived from C Language. It is a Superset of C.
- Earlier C++ was known as C with classes.
- In C++, the major change was the addition of classes and a mechanism for inheriting class objects into other classes.
- Most C Programs can be compiled in C++ compiler.
- C++ expressions are the same as C expressions.
- All C operators are valid in C++.
Following are the differences Between C and C++ :
|1. C is Procedural Language.||1. C++ is non Procedural i.e Object oriented Language.|
|2. No virtual Functions are present in C||2. The concept of virtual Functions are used in C++.|
|3. In C, Polymorphism is not possible.||3. The concept of polymorphism is used in C++.|
Polymorphism is the most Important Feature of OOPS.
|4. Operator overloading is not possible in C.||4. Operator overloading is one of the greatest Feature of C++.|
|5. Top down approach is used in Program Design.||5. Bottom up approach adopted in Program Design.|
|6. No namespace Feature is present in C Language.||6. Namespace Feature is present in C++ for avoiding Name collision.|
|7. Multiple Declaration of global variables are allowed.||7. Multiple Declaration of global varioables are not allowed.|
|8. In C||8. In C++|
|9. Mapping between Data and Function is difficult and complicated.||9. Mapping between Data and Function can be used using "Objects"|
|10. In C, we can call main() Function through other Functions||10. In C++, we cannot call main() Function through other functions.|
|11. C requires all the variables to be defined at the starting of a scope.||11. C++ allows the declaration of variable anywhere in the scope i.e at time of its First use.|
|12. No inheritance is possible in C.||12. Inheritance is possible in C++|
|13. In C, malloc() and calloc() Functions are used for Memory Allocation and free() function for memory Deallocating.||13.In C++, new and delete operators are used for Memory Allocating and Deallocating.|
|14. It supports built-in and primitive data types.||14. It support both built-in and user define data types.|
|15. In C, Exception Handling is not present.||15. In C++, Exception Handling is done with Try and Catch block.|