Differenza tra C e C ++

Sommario:

Anonim

Cos'è il linguaggio di programmazione C?

C è un linguaggio di programmazione di livello medio sviluppato al Bell Lab nel 1972 da Dennis Ritchie. Il linguaggio C combina le caratteristiche del linguaggio di basso livello e di quello di alto livello. Quindi è considerato un linguaggio di livello medio.

C è un linguaggio di programmazione di tipo classico di alto livello che consente di sviluppare firmware e applicazioni portatili. Il linguaggio C è stato sviluppato con l'obiettivo di scrivere software di sistema. È un linguaggio ideale per lo sviluppo di sistemi firmware.

Cos'è il linguaggio di programmazione C ++?

C ++ è un linguaggio di programmazione per computer che contiene le funzionalità del linguaggio di programmazione C e Simula67 (un primo linguaggio orientato agli oggetti). C ++ ha introdotto il concetto di classe e oggetti.

Incapsula funzionalità linguistiche di alto e basso livello. Quindi, è visto come un linguaggio di livello intermedio. In precedenza si chiamava "C con classi" poiché aveva tutte le proprietà del linguaggio C.

DIFFERENZA CHIAVE

  • C è un linguaggio procedurale orientato, mentre C ++ è un linguaggio di programmazione orientato agli oggetti.
  • C supporta solo i puntatori mentre C ++ supporta sia i puntatori che i riferimenti.
  • C non consente di utilizzare il sovraccarico di funzioni mentre C ++ consente di utilizzare il sovraccarico di funzioni.
  • C supporta i tipi di dati incorporati mentre C ++ supporta i tipi di dati incorporati e definiti dall'utente.
  • Il linguaggio C segue l'approccio di programmazione Top-Down mentre il C ++ segue un approccio di programmazione bottom-up.
  • C scan e printf vengono utilizzati per l'input e l'output standard mentre in C ++, cin e cout sono forniti per le operazioni di input e output standard.

C vs. C ++: differenze chiave

Base di distinzione C C ++
Tipo di programmazione È un linguaggio orientato alla procedura. È un linguaggio di programmazione orientato agli oggetti.
Approccio Il linguaggio C segue l'approccio di programmazione Top Down Il C ++ segue l'approccio di programmazione dal basso verso l'alto.
Estensione del file L'estensione del file di un programma C è .c L'estensione del file di un linguaggio di programma c ++ è.cpp
Divisione programmi Nel linguaggio di programmazione C, un grande codice di programma è diviso in piccole parti chiamate funzioni. Nel linguaggio di programmazione C ++, un grande codice di programma è suddiviso in Oggetti e Classi.
Struttura La struttura in C non fornisce la caratteristica della dichiarazione di funzione. La struttura in C ++ fornisce la caratteristica di dichiarare una funzione come funzione membro della struttura.
Funzione inline Non consente la funzione inline. Supporta la funzione inline.
Operazioni di I / O standard In C scan e printf vengono utilizzati per l'input e l'output standard In C ++ cin »e cout« sono forniti per operazioni di input e output standard.
La sicurezza dei dati In linguaggio C i dati non sono protetti. I dati sono protetti, quindi non è possibile accedervi da funzioni esterne. (Utilizzo del concetto di incapsulamento degli OOP)
Facilità di codifica C è un vecchio linguaggio di programmazione descritto come pratico. In questa lingua, devi dire al programma di fare tutto. Inoltre, questa lingua ti permetterà di fare quasi tutto. C ++ è un linguaggio di estensione di C. Consente il codice orientato agli oggetti altamente controllato.
Compatibilità con altre lingue C non è compatibile con un'altra lingua. C ++ è compatibile con gli altri linguaggi di programmazione generici.
Pointer C supporta solo i puntatori. C ++ supporta sia i puntatori che i riferimenti.
Variabile In C, la variabile dovrebbe essere definita all'inizio del programma. C ++ ti consente di dichiarare variabili ovunque nella funzione.
Punto di messa a fuoco C si concentra sui passaggi o sulle procedure seguiti per risolvere un problema. Il C ++ enfatizza gli oggetti e non i passaggi o le procedure. Ha un livello di astrazione più elevato.
Sovraccarico di funzioni C non consente di utilizzare il sovraccarico delle funzioni. C ++ consente di utilizzare il sovraccarico delle funzioni.
Tipi di dati Il linguaggio C non consente di dichiarare tipi di dati String o Boolean. Supporta tipi di dati incorporati e primitivi. C ++ supporta i tipi di dati String e Boolean.
La gestione delle eccezioni C non supporta la gestione delle eccezioni. Tuttavia, può essere eseguito utilizzando alcune soluzioni alternative. C ++ supporta la gestione delle eccezioni. Inoltre, questa operazione può essere eseguita utilizzando il blocco try and catch.
Funzioni Non consente funzioni con disposizioni predefinite Consenti funzioni con disposizioni predefinite.
Spazio dei nomi È assente nel linguaggio C. È presente nel linguaggio C ++.
Codice sorgente Codice sorgente del programma in formato libero. Sviluppato originariamente dal linguaggio di programmazione C.
Relazione C è un sottoinsieme di C ++. Non può eseguire codice C ++. C ++ è un superset di C. C ++ può eseguire la maggior parte del codice C mentre C non può eseguire codice C ++.
Guidata da Linguaggio basato sulle funzioni Linguaggio basato sugli oggetti
Messa a fuoco Si concentra sul metodo o sul processo invece che sui dati. Si concentra sui dati invece che sul metodo o sulla procedura.
Incapsulamento Non supporta l'incapsulamento. Poiché i dati e le funzioni sono entità separate e libere. Supporta l'incapsulamento. Dati e funzioni sono incapsulati insieme come un oggetto.
Nascondere le informazioni C non supporta l'occultamento delle informazioni. In questa lingua, i dati sono entità libere e possono essere modificati al di fuori del codice. L'incapsulamento nasconde i dati. In modo che le strutture dati e gli operatori vengano utilizzati secondo le intenzioni.
Gestione della memoria C fornisce le funzioni malloc () e calloc () per l'allocazione dinamica della memoria. C ++ fornisce un nuovo operatore per questo scopo.
Tipi di dati Supporta i tipi di dati incorporati. Supporta tipi di dati incorporati e definiti dall'utente.
Variabili globali Consente la dichiarazione multipla di variabili globali. Non sono consentite dichiarazioni multiple di variabili globali.
Concetto di mappatura La mappatura tra dati e funzione è molto complicata. La mappatura tra dati e funzioni può essere facilmente stabilita utilizzando "Classi e oggetti".
Eredità L'ereditarietà non è supportata C L'ereditarietà è possibile nel linguaggio C ++.
File di intestazione predefinito C ha utilizzato il file di intestazione stdio.h. C ++ utilizza iosteam.h come file di intestazione predefinito.
Funzione virtuale Il concetto di funzioni virtuali è presente in C. Il concetto di funzione virtuale non viene utilizzato in C ++.
Parole chiave Contiene 32 parole chiave. Contiene 52 parole chiave.
Polimorfismo In C. Il polimorfismo non è possibile Il concetto di polimorfismo è utilizzato in C ++. Il polimorfismo è una delle caratteristiche più importanti di OOPS.
Programmazione GUI Il linguaggio C offre uno strumento GTK per la programmazione GUI C ++ supporta gli strumenti Qt per la programmazione GUI