Pull to refresh

В чем разница между C и C++?

Практически все знают о C и C++, и сейчас пойдет речь о разнице между ними. Главное различие между этих языков, в том, что C - процедурный язык программирования, а C++ является объекто-ориентированным языком. Различий имеется безусловно довольно много, но вы узнаете о главных из них:.

Основные различия будут приведены в таблице:

C

C++

Появление

Разработал Деннис Ричи в 1969г. в Лабаратории Белла.

Разработал Бьярне Страуструп в 1979г.

Класс языка

Процедурный.

Объектно-ориентированный, мультипарадигмальный, процедурный, функциональный, обобщённый.

ООП

Поскольку C не поддерживает концепцию ООП, то он не поддерживает полиморфизм, инкапсуляцию и наследование.

C++ поддерживает полиморфизм, инкапсуляцию и наследование, т. к. является объектно-ориентированным языком.

Безопасность данных

Поскольку C не поддерживает инкапсуляцию, то данные могут редактироваться внешним кодом.

В случае с C++ инкапсуляция скрывает данные, чтобы гарантировать, что структуры данных и операторы используются по назначению.

Особенности

Не поддерживает перегрузку функций и операторов.

C++ поддерживает как и перегрузку функций, так и перегрузку операторов, а также пространства имен и ссылки, обработка исключений, богатая библиотека.

Ключевые слова

32 ключевых слова

52 ключевых слова

Функции

Не поддерживаются в структуре, не могут быть "друзьями" и виртуальными

Поддерживаются в структуре, могут быть "друзьями" и виртуальными

Память

Функции malloc() и calloc() для динамического выделения памяти, а также free() для освобождения.

Для этих же операций используются операторы new и delete.

Вход/Выход

Используются scanf() и printf().

Используются cout и cin.

Источники:

https://www.tutorialspoint.com/differe...

https://www.geeksforgeeks.org/differ...

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.