Verschil tussen C en C ++

Inhoudsopgave:

Anonim

Wat is programmeertaal C?

C is een programmeertaal op middenniveau die in 1972 bij Bell Lab is ontwikkeld door Dennis Ritchie. C-taal combineert de kenmerken van taal op laag niveau en taal op hoog niveau. Daarom wordt het beschouwd als een taal op middenniveau.

C is een klassieke programmeertaal van hoog niveau waarmee u firmware en draagbare toepassingen kunt ontwikkelen. De C-taal is ontwikkeld met als doel systeemsoftware te schrijven. Het is een ideale taal voor het ontwikkelen van firmwaresystemen.

Wat is de programmeertaal C ++?

C ++ is een computerprogrammeertaal die de functie van programmeertaal C bevat, evenals Simula67 (een eerste objectgeoriënteerde taal). C ++ introduceerde het concept van klasse en objecten.

Het omvat taalfuncties op hoog en laag niveau. Het wordt dus gezien als een taal op gemiddeld niveau. Eerder heette het "C met klassen" omdat het alle eigenschappen van de C-taal had.

BELANGRIJK VERSCHIL

  • C is een procedureel georiënteerde taal, terwijl C ++ een objectgeoriënteerde programmeertaal is.
  • C ondersteunt alleen Pointers, terwijl C ++ zowel pointers als referenties ondersteunt.
  • Met C kunt u functie-overbelasting niet gebruiken, terwijl u met C ++ functie-overbelasting kunt gebruiken.
  • C ondersteunt ingebouwde gegevenstypen, terwijl C ++ zowel ingebouwde als door de gebruiker gedefinieerde gegevenstypen ondersteunt.
  • C-taal volgt de Top-Down-programmeerbenadering, terwijl C ++ een bottom-up-programmeerbenadering volgt.
  • C scan en printf worden gebruikt voor de standaard invoer en uitvoer, terwijl in C ++ cin en cout worden gegeven voor standaard invoer- en uitvoerbewerkingen.

C Vs. C ++: belangrijkste verschillen

Basis van onderscheid C C ++
Programmeringstype Het is een procedureel georiënteerde taal. Het is een objectgeoriënteerde programmeertaal.
Nadering C-taal volgt de programmeerbenadering van Top Down C ++ volgt een bottom-up programmeerbenadering.
Bestandsextensie De bestandsextensie van een C-programma is .c De bestandsextensie van een c + + programmeertaal is. Cpp
Programma-indeling In programmeertaal C is een grote programmacode opgedeeld in kleine stukjes die functies worden genoemd. In de programmeertaal C ++ is een grote programmacode onderverdeeld in Objecten en Klassen.
Structuur Structuur in C biedt niet het kenmerk van functieverklaring. Structuur in C ++ biedt de mogelijkheid om een ​​functie te declareren als een lidfunctie van de structuur.
Inline-functie Het staat geen inline-functie toe. Het ondersteunt de inline-functie.
Standaard I / O-bewerkingen In C worden scan en printf gebruikt voor de standaard invoer en uitvoer In C ++ worden cin »en cout« gegeven voor standaard invoer- en uitvoerbewerkingen.
Dataveiligheid In C-taal zijn de gegevens niet beveiligd. De gegevens zijn veilig, zodat ze niet toegankelijk zijn voor externe functies. (Met behulp van het inkapselingsconcept van OOP's)
Gemakkelijk te coderen C is een oudere programmeertaal die wordt beschreven als Hands-on. In deze taal moet u het programma vertellen alles te doen. Bovendien kun je met deze taal bijna alles doen. C ++ is een extensietaal van C. Het maakt de zeer gecontroleerde objectgeoriënteerde code mogelijk.
Compatibiliteit met andere talen C is niet compatibel met een andere taal. C ++ is compatibel met de andere generieke programmeertalen.
Wijzer C ondersteunt alleen Pointers. C ++ ondersteunt zowel verwijzingen als verwijzingen.
Variabel In C moet de variabele aan het begin van het programma worden gedefinieerd. Met C ++ kunt u variabelen overal in de functie declareren.
Focuspunt C richt zich op de stappen of procedures die worden gevolgd om een ​​probleem op te lossen. C ++ benadrukt de objecten en niet de stappen of procedures. Het heeft een hoger abstractieniveau.
Functie overbelasting C staat het gebruik van functie-overbelasting niet toe. Met C ++ kunt u functie-overbelasting gebruiken.
Gegevenstypen C-taal staat u niet toe om String- of Booleaanse gegevenstypen te declareren. Het ondersteunt ingebouwde en primitieve gegevenstypen. C ++ ondersteunt String- en Booleaanse gegevenstypen.
Afhandeling van uitzonderingen C biedt geen ondersteuning voor het afhandelen van uitzonderingen. Het kan echter worden uitgevoerd met behulp van enkele tijdelijke oplossingen. C ++ ondersteunt het afhandelen van uitzonderingen. Bovendien kan deze bewerking worden uitgevoerd met een try and catch-blok.
Functies Staat geen functies toe met standaardrangschikkingen Sta functies toe met standaardarrangementen.
Naamruimte Het is afwezig in C-taal. Het is aanwezig in de taal C ++.
Broncode Programmabroncode in vrij formaat. Oorspronkelijk ontwikkeld vanuit de programmeertaal C.
Relatie C is een subset van C ++. Het kan geen C ++ -code uitvoeren. C ++ is een superset van C. C ++ kan de meeste C-code uitvoeren, terwijl C geen C ++ -code kan uitvoeren.
Gedreven door Functiegestuurde taal Objectgestuurde taal
Focus Richt zich op methode of proces in plaats van op gegevens. Richt zich op gegevens in plaats van op methode of procedure.
Inkapseling Ondersteunt geen inkapseling. Omdat Gegevens en functies afzonderlijke en vrije entiteiten zijn. Ondersteunt inkapseling. Gegevens en functies zijn samen ingekapseld als een object.
Informatie verbergen C biedt geen ondersteuning voor het verbergen van informatie. In deze taal zijn gegevens vrije entiteiten en kunnen ze buiten de code om worden gewijzigd. Inkapseling verbergt de gegevens. Zodat datastructuren en operators worden gebruikt zoals bedoeld.
Geheugen management C bieden malloc () en calloc () functies voor dynamische geheugentoewijzing. C ++ biedt hiervoor een nieuwe operator.
Gegevenstypen Ondersteunt ingebouwde gegevenstypen. Ondersteunt ingebouwde en door de gebruiker gedefinieerde gegevenstypen.
Globale variabelen Maakt meerdere declaraties van globale variabelen mogelijk. Meerdere declaraties van globale variabelen zijn niet toegestaan.
Concept van mapping De koppeling tussen gegevens en functie is erg ingewikkeld. De koppeling tussen gegevens en functies kan eenvoudig worden vastgesteld met behulp van "klassen en objecten".
Erfenis Overerving wordt niet ondersteund C Overerving is mogelijk in C ++ - taal.
Standaard header-bestand C gebruikte stdio.h header-bestand. C ++ gebruikt iosteam.h als standaard header-bestand.
Virtuele functie Het concept van virtuele functies is aanwezig in C. Het concept van virtuele functie wordt niet gebruikt in C ++.
Sleutelwoorden Bevat 32 trefwoorden. Bevat 52 trefwoorden.
Polymorfisme Bij C. is polymorfisme niet mogelijk Het concept van polymorfisme wordt gebruikt in C ++. Polymorfisme is een van de belangrijkste kenmerken van OOPS.
GUI-programmering C-taal biedt GTK-tool voor GUI-programmering C ++ ondersteunt Qt-tools voor GUI-programmering