Erinevus C ja C++
Peamine erinevus C ja vahel C++
- C on protseduuridele orienteeritud keel, samas kui C++ on objektorienteeritud programmeerimiskeel.
- C toetab ainult osuteid, samas C++ toetab nii viiteid kui ka viiteid.
- C ei luba kasutada funktsioonide รผlekoormamist, samas C++ vรตimaldab kasutada funktsioonide รผlekoormamist.
- C toetab sisseehitatud andmetรผรผpe, samas C++ toetab nii sisseehitatud kui ka kasutaja mรครคratud andmetรผรผpe.
- C-keel jรคrgib รผlalt-alla programmeerimise lรคhenemisviisi, samas kui C++ jรคrgib alt-รผles programmeerimise lรคhenemisviisi.
- C-skannimist ja printf-i kasutatakse standardse sisendi ja vรคljundi jaoks, kui see on sisse lรผlitatud C++, cin ja cout on antud standardsete sisend- ja vรคljundoperatsioonide jaoks.

Mis on C programmeerimiskeel?
C on kesktaseme programmeerimiskeel, mille tรถรถtas Bell Labis 1972. aastal vรคlja Dennis Ritchie. C keel รผhendab nii madala taseme kui ka kรตrgetasemelise keele omadused. Seetรตttu peetakse seda kesktaseme keeleks.
C on kรตrgetasemeline klassikalise tรผรผbi programmeerimiskeel, mis vรตimaldab teil arendada pรผsivara ja kaasaskantavaid rakendusi. C keel tรถรถtati vรคlja sรผsteemitarkvara kirjutamise eesmรคrgil. See on ideaalne keel arenduseksping pรผsivara sรผsteemid.
Mis on C++ programmeerimiskeel?
C++ on arvutiprogrammeerimiskeel, mis sisaldab nii C programmeerimiskeele kui ka Simula67 (esimene objektorienteeritud keel) funktsiooni. C++ tutvustas klassi ja objektide mรตistet.
See sisaldab kรตrge ja madala taseme keelefunktsioone. Seega nรคhakse seda kesktaseme keelena. Varem nimetati seda "C-ks klassidega", kuna sellel olid kรตik C-keele omadused.
Erinevus C ja erinevuse vahel C++
| Eristamise alus | C | C++ |
|---|---|---|
| Programmeerimise tรผรผp | See on protseduuridele orienteeritud keel. | See on objektorienteeritud programmeerimiskeel. |
| Lรคhenemine | C-keel jรคrgib programmeerimismeetodit รผlalt alla | C++ jรคrgige alt-รผles programmeerimise lรคhenemisviisi. |
| Faililaiend | C-programmi faililaiend on .c | C++ programmikeele faililaiend on.cpp |
| Programmi jaotus | Programmeerimiskeeles C jagatakse suur programmikood vรคikesteks tรผkkideks, mida nimetatakse funktsioonideks. | In C++ programmeerimiskeeles on suur programmikood jagatud objektideks ja klassideks. |
| struktuur | C-struktuur ei paku funktsiooni deklaratsiooni funktsiooni. | Struktuur sisse C++ pakub funktsiooni deklareerimise funktsiooni struktuuri liigefunktsioonina. |
| Inline funktsioon | See ei luba inline funktsioon. | See toetab sisemist funktsiooni. |
| Standardsed I/O toimingud | C-vormingus skannimist ja printf-i kasutatakse standardse sisendi ja vรคljundi jaoks | In C++ cinยป ja coutยซ on antud standardsete sisend- ja vรคljundoperatsioonide jaoks. |
| Andmeturve | C-keeles pole andmed kaitstud. | Andmed on turvalised, nii et vรคlised funktsioonid ei pรครคse neile juurde. (Kasutades OOP-ide kapseldamise kontseptsiooni) |
| Kodeerimise lihtsus | C on vanem programmeerimiskeel, mida kirjeldatakse kui Hands-on. Selles keeles peate programmile kรคskima kรตike teha. Veelgi enam, see keel vรตimaldab teil teha peaaegu kรตike. | C++ on C laienduskeel. See vรตimaldab kรตrgelt kontrollitud objektorienteeritud koodi. |
| รhilduvus teiste keeltega | C ei รผhildu mรตne teise keelega. | C++ รผhildub teiste รผldiste programmeerimiskeeltega. |
| Pointer | Ainult C toetab viiteid. | C++ toetab nii viiteid kui ka viiteid. |
| Muutuja | C-s tuleks muutuja mรครคratleda programmi alguses. | C++ vรตimaldab deklareerida muutujaid funktsiooni suvalises kohas. |
| Fookuspunkt | C keskendub sammudele vรตi protseduuridele, mis on jรคrgida probleemi lahendamiseks. |
C++ rรตhutab objekte, mitte samme vรตi protseduure. Sellel on kรตrgemad kรตhulihased.tractsiooni tase. |
| Funktsiooni รผlekoormus | C ei luba kasutada funktsioonide รผlekoormamist. | C++ vรตimaldab kasutada funktsioonide รผlekoormamist. |
| Andmetรผรผbid | C-keel ei luba deklareerida Stringi vรตi Boole'i โโandmetรผรผbid. See toetab sisseehitatud ja primitiivseid andmetรผรผpe. |
C++ toetab stringi ja tรตevรครคrtuse andmetรผรผpe. |
| Vรคlja arvatud kรคitlemine | C ei toeta erandite kรคsitlemist. Siiski saab seda teha teatud lahenduste abil. | C++ toetab erandite kรคsitlemist. Lisaks saab seda toimingut teha proovi ja pรผรผdmise ploki abil. |
| Funktsioonid | Ei luba funktsioone vaikekorraldusega | Luba funktsioonid vaikekorraldusega. |
| Nimeruum | C-keeles see puudub. | See on olemas C++ keel. |
| allikas Code | Vabas vormingus programmi lรคhtekood. | Algselt vรคlja tรถรถtatud programmeerimiskeelest C. |
| Suhe | C on alamhulk C++. See ei saa joosta C++ kood. | C++ on C superkomplekt. C++ saab kรคivitada suurema osa C-koodist, samas kui C ei tรถรถta C++ kood. |
| Ajendatud | Funktsioonipรตhine keel | Objektipรตhine keel |
| Focus | Keskendutakse andmete asemel meetodile vรตi protsessile. | Meetodi vรตi protseduuri asemel keskendub andmetele. |
| Kapseldamine | Ei toeta kapseldamist. Kuna andmed ja funktsioonid on eraldiseisvad ja vabad olemid. | Toetab kapseldamist. Andmed ja funktsioonid on kapseldatud objektina. |
| Teabe peitmine | C ei toeta teabe peitmist. Selles keeles on andmed tasuta olemid ja neid saab muuta vรคljaspool koodi. | Kapseldamine peidab andmed. Nii et andmestruktuure ja operaatoreid kasutatakse vastavalt kavatsusele. |
| Mรคlu haldamine | C pakub dรผnaamilise mรคlu jaotamiseks funktsioone malloc() ja calloc(). | C++ annab selleks uue operaatori. |
| Andmetรผรผbid | Toetab sisseehitatud andmetรผรผpe. | Toetab sisseehitatud ja kasutaja mรครคratud andmetรผรผpe. |
| Globaalsed muutujad | Vรตimaldab globaalsete muutujate mitut deklareerimist. | Globaalsete muutujate mitmekordne deklareerimine ei ole lubatud. |
| Kaardi mรตisteping | Kaartping Andmete ja funktsioonide vaheline seos on vรคga keeruline. | Kaartping Andmete ja funktsioonide vahelist seost saab hรตlpsalt luua klasside ja objektide abil. |
| Pรคrisosa | Pรคrimist ei toetata C | Pรคrimine on vรตimalik sisse C++ keel. |
| Vaikimisi pรคisefail | C kasutas pรคisefaili stdio.h. | C++ kasutab iosteam.h vaikepรคisefailina. |
| Virtuaalne funktsioon | Virtuaalsete funktsioonide kontseptsioon on olemas C-s. | Virtuaalse funktsiooni mรตistet selles ei kasutata C++. |
| Mรคrksรตnad | Sisaldab 32 mรคrksรตna. | Sisaldab 52 mรคrksรตna. |
| Polรผmorfism | In C. Polรผmorfism ei ole vรตimalik | Mรตiste polรผmorfism kasutatakse C++. Polรผmorfism on OOPSi รผks olulisemaid omadusi. |
| GUI programmeerimine | C-keel pakub GTK-tรถรถriista GUI programmeerimiseks | C++ toetab Qt tรถรถriistu GUI programmeerimiseks |
