Różnica między C i C ++

Spisie treści:

Anonim

Co to jest język programowania C?

C jest językiem programowania średniego poziomu, który został opracowany w Bell Lab w 1972 roku przez Dennisa Ritchiego. Język C łączy w sobie cechy języka niskiego i wysokiego poziomu. Dlatego jest uważany za język średniego poziomu.

C to klasyczny język programowania wysokiego poziomu, który umożliwia tworzenie oprogramowania sprzętowego i aplikacji przenośnych. Język C został opracowany w celu pisania oprogramowania systemowego. Jest to idealny język do tworzenia systemów oprogramowania układowego.

Co to jest język programowania C ++?

C ++ to język programowania komputerów, który zawiera cechy języka programowania C, a także Simula67 (pierwszy język zorientowany obiektowo). C ++ wprowadził pojęcie klasy i obiektów.

Zawiera funkcje języka wysokiego i niskiego poziomu. Dlatego jest postrzegany jako język na poziomie średnio zaawansowanym. Wcześniej nazywano go „C z klasami”, ponieważ posiadał wszystkie właściwości języka C.

KLUCZOWA RÓŻNICA

  • C jest językiem zorientowanym proceduralnie, podczas gdy C ++ jest językiem programowania zorientowanym obiektowo.
  • C obsługuje tylko wskaźniki, podczas gdy C ++ obsługuje zarówno wskaźniki, jak i odwołania.
  • C nie pozwala na przeciążanie funkcji, podczas gdy C ++ pozwala na przeciążanie funkcji.
  • C obsługuje wbudowane typy danych, podczas gdy C ++ obsługuje wbudowane i zdefiniowane przez użytkownika typy danych.
  • Język C jest zgodny z podejściem programowania odgórnego, podczas gdy C ++ stosuje podejście programowania oddolnego.
  • C scan i printf są używane jako standardowe wejście i wyjście, podczas gdy w C ++, cin i cout są podane dla standardowych operacji wejścia i wyjścia.

C vs. C ++: kluczowe różnice

Podstawa rozróżnienia do C ++
Rodzaj programowania Jest to język zorientowany proceduralnie. Jest to język programowania obiektowego.
Podejście Język C jest zgodny z podejściem programowania odgórnego C ++ jest zgodny z podejściem programowania oddolnego.
Rozszerzenie pliku Rozszerzenie pliku programu C to .c Rozszerzenie pliku języka programu C ++ to.cpp
Podział programów W języku C duży kod programu jest podzielony na małe części, które nazywamy funkcjami. W języku programowania C ++ duży kod programu jest podzielony na obiekty i klasy.
Struktura Struktura w C nie zapewnia funkcji deklaracji funkcji. Struktura w C ++ zapewnia funkcję deklarowania funkcji jako funkcji składowej struktury.
Funkcja inline Nie zezwala na funkcję inline. Obsługuje funkcję inline.
Standardowe operacje we / wy W języku C scan i printf są używane jako standardowe wejście i wyjście W C ++ cin »i cout« są podane dla standardowych operacji wejścia i wyjścia.
Ochrona danych W języku C dane nie są zabezpieczone. Dane są bezpieczne, więc nie mają do nich dostępu funkcje zewnętrzne. (Korzystanie z koncepcji enkapsulacji OOP)
Łatwość kodowania C to starszy język programowania, który jest opisany jako praktyczny. W tym języku musisz powiedzieć programowi, aby zrobił wszystko. Co więcej, ten język pozwoli ci zrobić prawie wszystko. C ++ jest rozszerzeniem języka C. Pozwala na wysoce kontrolowany kod obiektowy.
Zgodność z innymi językami C nie jest kompatybilny z innym językiem. C ++ jest kompatybilny z innymi ogólnymi językami programowania.
Wskaźnik C obsługuje tylko wskaźniki. C ++ obsługuje zarówno wskaźniki, jak i referencje.
Zmienna W C zmienną należy zdefiniować na początku programu. C ++ umożliwia deklarowanie zmiennych w dowolnym miejscu funkcji.
Punkt skupienia C koncentruje się na krokach lub procedurach, które są stosowane w celu rozwiązania problemu. C ++ podkreśla obiekty, a nie kroki lub procedury. Ma wyższy poziom abstrakcji.
Przeciążanie funkcji C nie pozwala na użycie przeciążenia funkcji. C ++ pozwala na przeciążanie funkcji.
Typy danych Język C nie pozwala na deklarowanie typu String lub Boolean. Obsługuje wbudowane i prymitywne typy danych. C ++ obsługuje typy danych typu String i Boolean.
Obsługa wyjątków C nie obsługuje obsługi wyjątków. Można to jednak wykonać, stosując pewne obejścia. C ++ obsługuje obsługę wyjątków. Ponadto operację tę można wykonać za pomocą bloku try and catch.
Funkcje Nie zezwala na funkcje z domyślnymi ustawieniami Zezwalaj na funkcje z domyślnymi ustawieniami.
Przestrzeń nazw Nie ma go w języku C. Jest obecny w języku C ++.
Kod źródłowy Kod źródłowy programu w dowolnym formacie. Pierwotnie opracowany z języka programowania C.
Związek C jest podzbiorem języka C ++. Nie może uruchomić kodu C ++. C ++ jest nadzbiorem języka C. C ++ może uruchamiać większość kodu w C, podczas gdy C nie może uruchamiać kodu w C ++.
Prowadzony przez Język sterowany funkcjami Język oparty na obiektach
Skupiać Skupia się na metodzie lub procesie zamiast na danych. Koncentruje się na danych, a nie na metodzie lub procedurze.
Kapsułkowanie Nie obsługuje hermetyzacji. Ponieważ dane i funkcje są oddzielnymi i bezpłatnymi jednostkami. Obsługuje hermetyzację. Dane i funkcje są hermetyzowane razem jako obiekt.
Ukrywanie informacji C nie obsługuje ukrywania informacji. W tym języku dane są wolnymi encjami i można je zmieniać poza kodem. Hermetyzacja ukrywa dane. Aby struktury danych i operatory były używane zgodnie z intencją.
Zarządzanie pamięcią C zapewnia funkcje malloc () i calloc () do dynamicznej alokacji pamięci. W tym celu C ++ udostępnia nowy operator.
Typy danych Obsługuje wbudowane typy danych. Obsługuje wbudowane i zdefiniowane przez użytkownika typy danych.
Zmienne globalne Umożliwia wielokrotne deklarowanie zmiennych globalnych. Wielokrotne deklarowanie zmiennych globalnych jest niedozwolone.
Koncepcja mapowania Mapowanie danych i funkcji jest bardzo skomplikowane. Mapowanie danych i funkcji można łatwo ustalić za pomocą „klas i obiektów”.
Dziedzictwo Dziedziczenie nie jest obsługiwane C Dziedziczenie jest możliwe w języku C ++.
Domyślny plik nagłówkowy C użył pliku nagłówkowego stdio.h. C ++ używa iosteam.h jako domyślnego pliku nagłówkowego.
Funkcja wirtualna Koncepcja funkcji wirtualnych jest obecna w C. Pojęcie funkcji wirtualnej nie jest używane w C ++.
Słowa kluczowe Zawiera 32 słowa kluczowe. Zawiera 52 słowa kluczowe.
Wielopostaciowość W C. Polimorfizm nie jest możliwy Pojęcie polimorfizmu jest używane w C ++. Polimorfizm jest jedną z najważniejszych cech OOPS.
Programowanie GUI Język C oferuje narzędzie GTK do programowania GUI C ++ obsługuje narzędzia Qt do programowania GUI