Razlika med C in C ++

Kazalo:

Anonim

Kaj je programski jezik C?

C je programski jezik na srednji ravni, ki ga je leta 1972 v laboratoriju Bell razvil Dennis Ritchie. Jezik C združuje značilnosti jezika nizke in visoke ravni. Zato velja za jezik srednjega nivoja.

C je visokokakovostni programski jezik klasičnega tipa, ki vam omogoča razvoj vdelane programske opreme in prenosnih aplikacij. Jezik C je bil razvit z namenom pisanja programske opreme sistema. Je idealen jezik za razvoj sistemov vdelane programske opreme.

Kaj je programski jezik C ++?

C ++ je računalniški programski jezik, ki vsebuje funkcijo programskega jezika C in Simula67 (prvi objektno usmerjeni jezik). C ++ je predstavil koncept razreda in predmetov.

Vključuje jezikovne funkcije na visoki in nizki ravni. Torej se nanj gleda kot na jezik srednje stopnje. Prej se je imenoval "C z razredi", saj je imel vse lastnosti jezika C.

KLJUČNA RAZLIKA

  • C je procesno usmerjen jezik, medtem ko je C ++ objektno usmerjen programski jezik.
  • C podpira samo kazalce, medtem ko C ++ podpira kazalce in reference.
  • C vam ne dovoljuje uporabe preobremenitve funkcije, medtem ko vam C ++ omogoča uporabo preobremenitve funkcije.
  • C podpira vgrajene podatkovne tipe, medtem ko C ++ podpira tako vgrajene kot uporabniško določene podatkovne tipe.
  • Jezik C sledi programskemu pristopu od zgoraj navzdol, medtem ko C ++ sledi programskemu pristopu od spodaj navzgor.
  • C scan in printf se uporabljata za standardni vhod in izhod, v C ++ pa sta cin in cout podana za standardne vhodne in izhodne operacije.

C Vs. C ++: ključne razlike

Osnova razlikovanja C C ++
Vrsta programiranja Je procesno usmerjen jezik. Je objektno usmerjen programski jezik.
Pristop Jezik C sledi programskemu pristopu od zgoraj navzdol C ++ sledi programskemu pristopu od spodaj navzgor.
Razširitev datoteke Razširitev datoteke programa C je .c Razširitev datoteke programskega jezika c + + je.cpp
Delitev programa V programskem jeziku C je velika programska koda razdeljena na majhne koščke, ki se imenujejo funkcije. V programskem jeziku C ++ je velika programska koda razdeljena na predmete in razrede.
Struktura Struktura v C ne zagotavlja funkcije izjave funkcije. Struktura v jeziku C ++ ponuja funkcijo razglasitve funkcije kot funkcije člana v strukturi.
Vgrajena funkcija Ne dovoljuje vgrajene funkcije. Podpira vgrajeno funkcijo.
Standardne V / I operacije V C skeniranju in tiskanju f se uporabljata za standardni vhod in izhod V jeziku C ++ sta za standardni vhodni in izhodni operaciji podana cin in cout.
Varnost podatkov V jeziku C podatki niso zaščiteni. Podatki so varni, zato zunanje funkcije ne morejo dostopati do njih. (Uporaba koncepta enkapsulacije OOP)
Enostavnost kodiranja C je starejši programski jezik, ki je opisan kot Hands-on. V tem jeziku morate programu povedati, naj naredi vse. Poleg tega vam bo ta jezik omogočil skoraj vse. C ++ je razširitveni jezik C. Omogoča močno nadzorovano objektno usmerjeno kodo.
Združljivost z drugimi jeziki C ni združljiv z drugim jezikom. C ++ je združljiv z drugimi generičnimi programskimi jeziki.
Kazalec C podpira samo kazalce. C ++ podpira kazalce in sklice.
Spremenljiv V C mora biti spremenljivka definirana na začetku programa. C ++ vam omogoča, da spremenljivke deklarirate kjer koli v funkciji.
Točka osredotočenosti C se osredotoča na korake ali postopke, ki jih upoštevamo pri reševanju problema. C ++ poudarja predmete in ne korake ali postopke. Ima višjo stopnjo abstrakcije.
Preobremenitev funkcije C ne dovoljuje uporabe preobremenitve funkcije. C ++ vam omogoča uporabo preobremenitve funkcije.
Vrste podatkov Jezik C ne omogoča izjave nizov ali logičnih podatkovnih tipov. Podpira vgrajene in primitivne vrste podatkov. C ++ podpira nizovne in logične tipe podatkov.
Ravnanje z izjemami C ne podpira obravnave izjem. Vendar ga je mogoče izvesti z nekaterimi rešitvami. C ++ podpira obdelavo izjem. Poleg tega je to operacijo mogoče izvesti s pomočjo bloka try and catch.
Funkcije Ne dovoljuje funkcij s privzetimi ureditvami Dovoli funkcije s privzetimi ureditvami.
Imenski prostor V jeziku C je ni. Prisoten je v jeziku C ++.
Izvorna koda Izvorna koda programa v prosti obliki. Prvotno razvit iz programskega jezika C.
Razmerje C je podmnožica C ++. Ne more zagnati kode C ++. C ++ je nadmnožica C. C ++ lahko zažene večino kode C, medtem ko C ne more zagnati kode C ++.
Vodila Funkcionalni jezik Predmetno usmerjen jezik
Osredotočite se Osredotoča se na metodo ali postopek namesto na podatke. Osredotoča se na podatke namesto na metodo ali postopek.
Kapsulacija Ne podpira enkapsulacije. Ker so podatki in funkcije ločene in brezplačne entitete. Podpira inkapsulacijo. Podatki in funkcije so združeni skupaj kot predmet.
Skrivanje informacij C ne podpira skrivanja informacij. V tem jeziku so podatki brezplačni in jih je mogoče spremeniti zunaj kode. Enkapsulacija skriva podatke. Tako, da se podatkovne strukture in operaterji uporabljajo po namenu.
Upravljanje pomnilnika C zagotavljata funkciji malloc () in calloc () za dinamično dodeljevanje pomnilnika. V ta namen C ++ ponuja novega operaterja.
Vrste podatkov Podpira vgrajene podatkovne tipe. Podpira vgrajene in uporabniško določene tipe podatkov.
Globalne spremenljivke Omogoča večkratno prijavo globalnih spremenljivk. Večkratna izjava globalnih spremenljivk ni dovoljena.
Koncept preslikave Preslikava med podatki in funkcijami je zelo zapletena. Preslikavo med podatki in funkcijami je mogoče enostavno določiti s pomočjo "Razredi in predmeti".
Dedovanje Dedovanje ni podprto C Dedovanje je možno v jeziku C ++.
Privzeta datoteka glave C je uporabil datoteko glave stdio.h. C ++ uporablja privzeto datoteko glave iosteam.h.
Navidezna funkcija Koncept navideznih funkcij je prisoten v C. Koncept navidezne funkcije se v jeziku C ++ ne uporablja.
Ključne besede Vsebuje 32 ključnih besed. Vsebuje 52 ključnih besed.
Polimorfizem V C. Polimorfizem ni mogoč Pojem polimorfizem je uporabljen v jeziku C ++. Polimorfizem je ena najpomembnejših lastnosti OOPS.
GUI programiranje Jezik C ponuja orodje GTK za programiranje GUI C ++ podpira orodja Qt za programiranje GUI