Differences between C and C++

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Object-oriented programming

Being an object oriented programming language C++ supports polymorphism, encapsulation, and inheritance.

What is the major difference between C and C++?

C is a procedural programming language and does not support classes and objects, while C++ is a combination of both procedural and object oriented programming language; therefore C++ can be called a hybrid language.

Does C support procedural programming?

C supports procedural programming paradigm for code development.

Who developed C?

C was developed by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs.

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.

C does not support function and operator overloading.

C++ supports both function and operator overloading.

What does C support?

C++ supports both procedural and object oriented programming paradigms; therefore C++ is also called a hybrid language.

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.

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 does not allow functions to be defined inside structures.

In C++, functions can be used inside a structure.

True or false: C++ is a superset of C. C++ can run most of C code while C cannot run C++ code.

True

True or false: When compared to C++, C is a subset of C++.

True

C, being a procedural programming, it is a function driven language.

While, C++, being an object oriented programming, it is an object driven language.

Does C support object-oriented programming?

C does not support object oriented programming; therefore it has no support for polymorphism, encapsulation, and inheritance.

C does not have namespace feature.

C++ uses NAMESPACE which avoid name collisions. A namespace is a declarative region that provides a scope to the identifiers (the names of types, functions, variables, etc) inside it. Namespaces are used to organize code into logical groups and to prevent name collisions that can occur especially when your code base includes multiple libraries. All identifiers at namespace scope are visible to one another without qualification. Identifiers outside the namespace can access the members by using the fully qualified name for each identifier.

C uses functions for input/output. For example scanf and printf.

C++ uses objects for input output. For example cin and cout.

Who developed C++?

C++ was developed by Bjarne Stroustrup in 1979 with C++'s predecessor "C with Classes".


Ensembles d'études connexes

Características Heredadas y Comportamientos Aprendidos

View Set

Intro to Data Structures - C243 - Midterm II

View Set

FINN 3160- Ch. 7 Equity Markets and Stock Valuation

View Set

PrepU: Bladder and Lower Urinary Tract (Chapter 35)

View Set

Chapter 31: Family Planning 4 & 6

View Set