Diferența dintre C și C ++

Cuprins:

Anonim

Ce este limbajul de programare C?

C este un limbaj de programare de nivel mediu care a fost dezvoltat la Bell Lab în 1972 de Dennis Ritchie. Limbajul C combină caracteristicile de nivel scăzut, precum și limbaj de nivel înalt. Prin urmare, este considerat un limbaj de nivel mediu.

C este un limbaj de programare clasic de nivel înalt care vă permite să dezvoltați aplicații firmware și portabile. Limbajul C a fost dezvoltat cu scopul de a scrie software-ul sistemului. Este un limbaj ideal pentru dezvoltarea sistemelor de firmware.

Ce este limbajul de programare C ++?

C ++ este un limbaj de programare pentru computer care conține caracteristica limbajului de programare C, precum și Simula67 (un prim limbaj orientat pe obiect). C ++ a introdus conceptul de clasă și obiecte.

Incapsulează caracteristici de limbaj de nivel înalt și scăzut. Deci, este văzut ca un limbaj de nivel intermediar. Anterior a fost numit „C cu clase”, deoarece avea toate proprietățile limbajului C.

DIFERENȚA CHEIE

  • C este un limbaj orientat către proceduri, în timp ce C ++ este un limbaj de programare orientat pe obiecte.
  • C acceptă doar pointeri, în timp ce C ++ acceptă atât pointeri, cât și referințe.
  • C nu vă permite să utilizați supraîncărcarea funcției, în timp ce C ++ vă permite să utilizați supraîncărcarea funcției.
  • C acceptă tipuri de date încorporate, în timp ce C ++ acceptă tipuri de date încorporate, precum și definite de utilizator.
  • Limbajul C urmează abordarea de programare de sus în jos, în timp ce C ++ urmează o abordare de programare de jos în sus.
  • Scanarea C și printf sunt utilizate pentru intrarea și ieșirea standard, în timp ce în C ++, cin și cout sunt date pentru operațiile standard de intrare și ieșire.

C vs. C ++: Diferențe cheie

Baza distincției C C ++
Tipul de programare Este un limbaj orientat către proceduri. Este un limbaj de programare orientat pe obiecte.
Abordare Limbajul C urmează abordarea de programare Top Down C ++ urmează abordarea de programare de jos în sus.
Extensie de fișier Extensia de fișier a unui program C este .c Extensia de fișier a unui limbaj de program c + + este.cpp
Diviziunea programului În limbajul de programare C, un cod mare de program este împărțit în bucăți mici, numite funcții. În limbajul de programare C ++, un cod mare de program este împărțit în obiecte și clase.
Structura Structura în C nu oferă caracteristica declarației funcției. Structura în C ++ oferă caracteristica declarării unei funcții ca funcție membru a structurii.
Funcția în linie Nu permite funcția în linie. Suportă funcția în linie.
Operațiuni I / O standard În C scanarea și printf sunt utilizate pentru intrarea și ieșirea standard În C ++, cin și cout «sunt date pentru operațiile standard de intrare și ieșire.
Securitatea datelor În limbajul C datele nu sunt securizate. Datele sunt sigure, deci nu pot fi accesate de funcții externe. (Utilizarea conceptului de încapsulare a OOP-urilor)
Ușurința de codificare C este un limbaj de programare mai vechi care este descris ca Hands-on. În această limbă, trebuie să spuneți programului să facă totul. Mai mult, acest limbaj vă va permite să faceți aproape orice. C ++ este un limbaj de extensie al lui C. Permite codul orientat pe obiect foarte controlat.
Compatibilitate cu alte limbi C nu este compatibil cu o altă limbă. C ++ este compatibil cu celelalte limbaje de programare generice.
Pointer C acceptă doar pointeri. C ++ acceptă atât indicii, cât și referințe.
Variabil În C, variabila trebuie definită la începutul programului. C ++ vă permite să declarați variabile oriunde în funcție.
Punctul de focalizare C se concentrează pe pașii sau procedurile care sunt urmate pentru a rezolva o problemă. C ++ accentuează obiectele și nu pașii sau procedurile. Are un nivel de abstractizare mai mare.
Funcția de supraîncărcare C nu vă permite să utilizați supraîncărcarea funcției. C ++ vă permite să utilizați supraîncărcarea funcției.
Tipuri de date Limbajul C nu vă permite să declarați tipuri de date String sau Boolean. Acceptă tipuri de date încorporate și primitive. C ++ acceptă tipuri de date String și Boolean.
Manevrarea excepțiilor C nu acceptă gestionarea excepțiilor. Cu toate acestea, poate fi realizat folosind unele soluții. C ++ acceptă gestionarea excepțiilor. Mai mult, această operațiune poate fi efectuată folosind blocul try and catch.
Funcții Nu permite funcții cu aranjamente implicite Permiteți funcții cu aranjamente implicite.
Spațiu de nume Este absent în limbajul C. Este prezent în limbajul C ++.
Cod sursa Codul sursă al programului în format liber. Dezvoltat inițial din limbajul de programare C.
Relaţie C este un subset al C ++. Nu poate rula codul C ++. C ++ este un superset al lui C. C ++ poate rula majoritatea codului C în timp ce C nu poate rula codul C ++.
Condus de Limbaj bazat pe funcții Limbaj bazat pe obiecte
Concentrați-vă Se concentrează pe metodă sau proces în loc de date. Se concentrează pe date în loc de metodă sau procedură.
Incapsularea Nu acceptă încapsularea. Datele și funcțiile sunt entități separate și libere. Sprijină încapsularea. Datele și funcțiile sunt încapsulate împreună ca obiect.
Ascunderea informațiilor C nu acceptă ascunderea informațiilor. În această limbă, datele sunt entități libere și pot fi modificate în afara codului. Incapsularea ascunde datele. Astfel, structurile și operatorii de date sunt utilizați conform intenției.
Gestionarea memoriei C oferă funcții malloc () și calloc () pentru alocarea dinamică a memoriei. C ++ oferă un nou operator în acest scop.
Tipuri de date Suportă tipuri de date încorporate. Suportă tipuri de date încorporate și definite de utilizator.
Variabile globale Permite declarația multiplă a variabilelor globale. Declarația multiplă a variabilelor globale nu este permisă.
Conceptul de cartografiere Cartarea dintre date și funcție este foarte complicată. Cartarea dintre date și funcție poate fi ușor stabilită folosind „clase și obiecte”.
Moştenire Moștenirea nu este acceptată C Moștenirea este posibilă în limbajul C ++.
Fișier antet implicit C a folosit fișierul antet stdio.h. C ++ folosește iosteam.h ca fișier de antet implicit.
Funcție virtuală Conceptul de funcții virtuale este prezent în C. Conceptul de funcție virtuală nu este utilizat în C ++.
Cuvinte cheie Conține 32 de cuvinte cheie. Conține 52 de cuvinte cheie.
Polimorfism În C. Polimorfismul nu este posibil Conceptul de polimorfism este utilizat în C ++. Polimorfismul este una dintre cele mai importante caracteristici ale OOPS.
Programare GUI Limbajul C oferă instrumentul GTK pentru programarea GUI C ++ acceptă instrumentele Qt pentru programarea GUI