logo

Forskellen mellem C og C++

Hvad er C?

C er et strukturelt eller proceduremæssigt orienteret programmeringssprog, som er maskinuafhængigt og flittigt brugt i forskellige applikationer.

C er det grundlæggende programmeringssprog, der kan bruges til at udvikle fra operativsystemerne (som Windows) til komplekse programmer som Oracle-database, Git, Python-fortolker og mange flere. C programmeringssprog kan kaldes en guds programmeringssprog, da det danner grundlaget for andre programmeringssprog. Hvis vi kender C-sproget, så kan vi sagtens lære andre programmeringssprog. C-sproget blev udviklet af den store datalog Dennis Ritchie ved Bell Laboratories. Den indeholder nogle ekstra funktioner, der gør den unik fra andre programmeringssprog.

Hvad er C++?

C++ er et programmeringssprog til særlige formål udviklet af Bjarne Stroustrup hos Bell Labs omkring 1980. C++-sprog minder meget om C-sprog, og det er så kompatibelt med C, at det kan køre 99% af C-programmer uden at ændre nogen kodekilde, selvom C++ er et objektorienteret programmeringssprog, så det er sikrere og velstruktureret programmeringssprog end C.

Lad os forstå forskellene mellem C og C++.

C vs C++

Følgende er forskellene mellem C og C++:

    Definition
    C er et strukturelt programmeringssprog, og det understøtter ikke klasser og objekter, mens C++ er et objektorienteret programmeringssprog, der understøtter begrebet klasser og objekter.Type programmeringssprog
    C understøtter det strukturelle programmeringssprog, hvor koden kontrolleres linje for linje, mens C++ er et objektorienteret programmeringssprog, der understøtter begrebet klasser og objekter.Udvikler af sproget
    Dennis Ritchie udviklede C-sproget på Bell Laboratories, mens Bjarne Stroustrup udviklede C++-sproget på Bell Labs omkring 1980.Undersæt
    C++ er et supersæt af C programmeringssprog. C++ kan køre 99% af C-koden, men C-sproget kan ikke køre C++-kode.Type tilgang
    C følger top-down tilgangen, mens C++ følger bottom-up tilgangen. Top-down tilgangen opdeler hovedmodulerne i opgaver; disse opgaver er opdelt i underopgaver og så videre. Bottom-down tilgangen udvikler modulerne på lavere niveau først og derefter modulerne på næste niveau.Sikkerhed
    I C kan data let manipuleres af outsiderne, da det ikke understøtter indkapsling og informationsskjul, mens C++ er et meget sikkert sprog, dvs. ingen udenforstående kan manipulere dets data, da det understøtter både indkapsling og dataskjul. I C-sprog er funktioner og data de frie entiteter, og i C++-sprog er alle funktioner og data indkapslet i form af objekter.Funktion Overbelastning
    Funktionsoverbelastning er en funktion, der giver dig mulighed for at have mere end én funktion med samme navn, men varierer i parametrene. C understøtter ikke funktionen overbelastning, mens C++ understøtter funktionen overbelastning.Funktion tilsidesætte
    Funktionstilsidesættelse er en funktion, der giver den specifikke implementering til funktionen, som allerede er defineret i basisklassen. C understøtter ikke funktionen tilsidesættelse, mens C++ understøtter funktionen tilsidesættelse.Referencevariabler
    C understøtter ikke referencevariablerne, mens C++ understøtter referencevariablerne.Nøgleord
    C indeholder 32 nøgleord, og C++ understøtter 52 nøgleord.Navneområde funktion
    Et navneområde er en funktion, der grupperer entiteterne som klasser, objekter og funktioner under et bestemt navn. C indeholder ikke navnerumsfunktionen, mens C++ understøtter navnerumsfunktionen, der undgår navnekollisioner.Undtagelseshåndtering
    C yder ikke direkte støtte til undtagelseshåndteringen; den skal bruge funktioner, der understøtter undtagelseshåndtering. C++ giver direkte support til undtagelseshåndtering ved at bruge en try-catch-blok.Input/Output funktioner
    I C bruges funktionerne scanf og printf til henholdsvis input- og outputoperationer, mens i C++ bruges cin og cout til henholdsvis input- og outputoperationer.Hukommelsestildeling og deallokering
    C understøtter calloc()- og malloc()-funktioner til hukommelsestildelingen og free()-funktion til hukommelsesdeallokering. C++ understøtter en ny operator for hukommelsesallokering og sletoperator for hukommelsesdeallokering.Arv
    Arv er en funktion, der gør det muligt for den underordnede klasse at genbruge egenskaberne for den overordnede klasse. C-sprog understøtter ikke arven, mens C++ understøtter arven.Header-fil
    C-program bruger header-fil, mens C++-programmet bruger header-fil.

Lad os opsummere ovenstående forskelle i en tabelform.

Ingen. C C++
1) C følger programmering i procedurestil. C++ er multiparadigme. Det understøtter begge dele proceduremæssigt og objektorienteret.
2) Data er mindre sikret i C. I C++ kan du bruge modifikatorer til klassemedlemmer for at gøre det utilgængeligt for eksterne brugere.
3) C følger top-down tilgang. C++ følger bottom-up tilgang.
4) C understøtter ikke funktionsoverbelastning. C++ understøtter funktionsoverbelastning.
5) I C kan du ikke bruge funktioner i struktur. I C++ kan du bruge funktioner i struktur.
6) C understøtter ikke referencevariable. C++ understøtter referencevariabler.
7) I C, scanf() og printf() bruges hovedsageligt til input/output. C++ bruger hovedsageligt stream cin og cout at udføre input og output operationer.
8) Operatøroverbelastning er ikke mulig i C. Operatøroverbelastning er mulig i C++.
9) C-programmer er opdelt i procedurer og moduler C++ programmer er opdelt i funktioner og klasser.
10) C giver ikke funktionen navneområde. C++ understøtter funktionen navneområde.
elleve) Håndtering af undtagelser er ikke let i C. Den skal udføres ved hjælp af andre funktioner. C++ giver undtagelseshåndtering ved hjælp af Try and Catch-blok.
12) C understøtter ikke arven. C++ understøtter arv.