Різниця між C та C ++

Зміст:

Anonim

Що таке мова програмування C?

C - мова програмування середнього рівня, розроблена в лабораторії Bell в 1972 році Деннісом Річі. Мова C поєднує в собі риси низького рівня, а також мови високого рівня. Звідси його вважають Мовою середнього рівня.

C - це мова програмування класичного типу високого рівня, що дозволяє розробляти мікропрограми та портативні програми. Мова С була розроблена з метою написання системного програмного забезпечення. Це ідеальна мова для розробки систем прошивки.

Що таке мова програмування C ++?

C ++ - це мова комп'ютерного програмування, що містить функцію мови програмування C, а також Simula67 (перша об'єктно-орієнтована мова). C ++ представив поняття класу та об'єктів.

Він інкапсулює особливості мови високого та низького рівня. Отже, це розглядається як мова середнього рівня. Раніше його називали "C з класами", оскільки він мав усі властивості мови C.

КЛЮЧОВА РІЗНИЦЯ

  • C - це процедурно-орієнтована мова, тоді як C ++ - мова об'єктно-орієнтованого програмування.
  • C підтримує лише вказівники, тоді як C ++ підтримує як вказівники, так і посилання.
  • C не дозволяє використовувати перевантаження функцій, тоді як C ++ дозволяє використовувати перевантаження функцій.
  • C підтримує вбудовані типи даних, тоді як C ++ підтримує вбудовані, а також визначені користувачем типи даних.
  • Мова С дотримується підходу програмування зверху вниз, тоді як С ++ дотримується підходу програмування знизу вгору.
  • Сканування C та printf використовуються для стандартного введення та виведення, тоді як у C ++, cin та cout даються для стандартних операцій введення та виведення.

C проти C ++: ключові відмінності

Основа розрізнення C. C ++
Тип програмування Це процедурно орієнтована мова. Це об’єктно-орієнтована мова програмування.
Підхід Мова C відповідає підходу програмування Top Down C ++ дотримується підходу програмування знизу вгору.
Розширення файлу Розширенням файлу програми C є .c Розширення файлу мови програми c + + is.cpp
Розділ програми У мові програмування C великий програмний код розділений на невеликі частини, які називаються функціями. У мові програмування С ++ великий програмний код розділений на Об'єкти та Класи.
Структура Структура в C не забезпечує функцію оголошення функції. Структура в C ++ надає функцію оголошення функції як функції-члена структури.
Вбудована функція Це не дозволяє вбудовану функцію. Він підтримує вбудовану функцію.
Стандартні операції вводу-виводу У C сканування та printf використовуються для стандартного введення та виведення У C ++ для стандартних операцій введення та виведення даються cin »і cout«.
Захист даних Мовою C дані не захищені. Дані захищені, тому зовнішні функції не можуть отримати до них доступ. (Використання концепції інкапсуляції ООП)
Простота кодування C - це давня мова програмування, яка описується як Hands-on. Цією мовою ви повинні сказати програмі робити все. Більше того, ця мова дозволить вам робити майже все. C ++ - це розширення мови C. Він дозволяє створювати сильно контрольований об'єктно-орієнтований код.
Сумісність з іншими мовами C не сумісний з іншою мовою. C ++ сумісний з іншими загальними мовами програмування.
Вказівник C підтримує лише покажчики. C ++ підтримує як вказівники, так і посилання.
Змінна У C змінна повинна бути визначена на початку програми. C ++ дозволяє оголошувати змінні в будь-якому місці функції.
Точка фокусу C фокусується на кроках або процедурах, які виконуються для вирішення проблеми. С ++ наголошує на об'єктах, а не на кроках чи процедурах. Він має вищий рівень абстракції.
Перевантаження функції C не дозволяє використовувати перевантаження функції. C ++ дозволяє використовувати перевантаження функцій.
Типи даних Мова C не дозволяє оголошувати String або логічні типи даних. Він підтримує вбудовані та примітивні типи даних. C ++ підтримує String і логічні типи даних.
Обробка винятків C не підтримує обробку винятків. Однак його можна виконати, використовуючи деякі обхідні шляхи. C ++ підтримує обробку винятків. Більше того, цю операцію можна виконати за допомогою блоку try and catch.
Функції Не дозволяє використовувати функції за замовчуванням Дозволити функції із домовленостями за замовчуванням.
Простір імен Він відсутній у мові C. Він присутній у мові С ++.
Вихідний код Вихідний код програми у вільному форматі. Спочатку розроблений з мови програмування C.
Відносини C - це підмножина C ++. Він не може запустити код C ++. C ++ є надмножином C. C ++ може запускати більшу частину коду C, тоді як C не може запускати код C ++.
Керований Мова, керована функціями Об’єктно-керована мова
Фокус Зосереджується на методі чи процесі замість даних. Зосереджується на даних, а не на методі чи процедурі.
Капсуляція Не підтримує інкапсуляцію. Оскільки Дані та функції є окремими і вільними сутностями. Підтримує інкапсуляцію. Дані та функції інкапсулюються разом як об'єкт.
Приховування інформації C не підтримує приховування інформації. Цією мовою дані є вільними сутностями і їх можна змінити за межами коду. Інкапсуляція приховує дані. Таким чином, що структури даних та оператори використовуються відповідно до наміру.
Управління пам’яттю C забезпечують функції malloc () та calloc () для динамічного розподілу пам'яті. Для цього C ++ пропонує новий оператор.
Типи даних Підтримує вбудовані типи даних. Підтримує вбудовані та визначені користувачем типи даних.
Глобальні змінні Дозволяє багаторазове оголошення глобальних змінних. Не допускається багаторазове оголошення глобальних змінних.
Концепція картографування Зіставлення даних та функції дуже складно. Зіставлення даних та функції можна легко встановити за допомогою "Класів та об'єктів".
Спадщина Спадщина не підтримується C Спадщина можлива мовою С ++.
Файл заголовка за замовчуванням C використовував файл заголовка stdio.h. C ++ використовує iosteam.h як заголовок за замовчуванням.
Віртуальна функція Поняття віртуальних функцій присутнє в C. Поняття віртуальної функції не використовується в C ++.
Ключові слова Містить 32 ключових слова. Містить 52 ключових слова.
Поліморфізм У C. Поліморфізм неможливий Поняття поліморфізму використовується в C ++. Поліморфізм - одна з найважливіших особливостей ООПС.
Програмування графічного інтерфейсу Мова C пропонує інструмент GTK для програмування графічного інтерфейсу C ++ підтримує інструменти Qt для програмування графічного інтерфейсу