C++ - Úvod
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++ - ÚvodC++ - Úvod

 

C++ - Úvod

Google       Google       12. 4. 2005       98 414×

Začínáme s  C++, historie a filozofie tohoto jazyka, mechanizmus vytváření programu, jak a s čím pracovat, standardy a přenositelnost…

Jazyk C++, který je jakousi nástavbou jazyka C a s podporou OOP (objektově orientovaného programování) se stal důležitým jazykem 20. století a jeho důležitot pokračuje.

C++ oproti C

Jazyk C přináší do jazyka C++ tradici efektivity, ucelený, rychlý a přenositelný jazyk. C++ spojuje tři oddělené programovací tradice: tradici procedurálního jazyka reprezentovanou C, tradici objektově orientovaného jazyka reprezentovanou rozšířením C o třídy C++ a programování pomocí předloh podporované šablonami jazyka C++. Pokud neznáte jazyk C - základní typy, operátory, řídící struktury, syntaktická pravidla, nevadí - naučíte se zde. Znáte-li C, jste připraveni se učit C++. Není to však naučení několika klíčových slov a konstrukcí. Přechod z C na C++ vyžaduje asi tolik úsilí, jako naučení samotného C. Pokud tedy přecházíte z C na C++, musíte se odnaučit některým programovým zvyklostem. Tento kurz tedy nepředpokládá jakoukoliv znalost jakéhokoliv programovacího jazyka.

Historie jazyka

Mnozí si pamatují rychlý vzestup výpočetní techniky, kdy jsme přešli z děrných štítků na dnešní technologie. Takto se vyvíjely i jazyky, ne tak drasticky, ale změny byly důležité. V 70. letech jazyky C a Pascal pomohly zavést období strukturovaného programování, základní principy, které přinesly jistý řád a kázeň do oblasti, která silně potřebovala tyto vlastnosti. Kromě prostředků pro strukturované programování, jazyk C produkoval i kompaktní rychle běžící programy spolu se schopností adresovat hardwarové záležitosti, jako jsou řídící komunikační porty a ovladače disků. C se stal dominantním jazykem 80. let, poté nástup OOP zakotvením v C++ a Smalltalku. začátkem 70. let, Dennis Ritchie z Bell Laboratories pracoval na svém projektu rozvoje operačního systému UNIX. K němu potřeboval jazyk, který by byl stručný a výstižný. Tradičně se programátoři setkávají s těmito potřebami, když používají jazyk assembler, který je těsně svázán se strojovým kódem počítače. Avšak assembler je strojově orientovaný jazyk - je závislý na procesoru počítače. Avšak pokud byste chtěli přesunout program z assembleru na jiný počítač, možná byste ho museli přepsat pomocí jiného assembleru. UNIX byl ale určen pro práci na různých typech počítačů. Zvláštní programy – kompilátory – překládají vyšší programovací jazyk do strojového kódu určitého počítače. Ritchie chtěl jazyk, který by spojoval účinnost strojového jazyka na nízké úrovni s přístupem k hardwaru s vyšší úrovní všeobecnosti vyššího jazyka a přenositelnosti. Na základě starších programovacích jazyků vytvořil jazyk C.

Filosofie programování v C

Obecně se programovací jazyk zabývá dvěma pojmy - daty a algoritmy. Data představují informaci, kterou program používá a zpracovává. Algoritmy jsou metody, které program používá. Spojením dat a algoritmů vzniká samotný program. Dřívější procedurální jazyky, jako Fortran či Basic, měli většinou organizační problémy, když se program zvětšoval. Jejich programy často obsahovaly příkazy skoku, což vede k nepřehlednosti celého kódu a následná úprava byla katastrofa. A tak vyvinuli ukázanější styl programování – strukturované.

Objektově orientované programování

Ačkoli principy strukturovaného programování zlepšily srozumitelnost, spolehlivost a usnadnily údržbu programů, velká část programování stále zůstávala výzvou. OOP přináší nový přístup – místo zdůrazňování algoritmů (jako tomu bylo u strukturovaného programování) OOP zdůrazňuje data. Programování OOP je mnohem více než vázání dat a metod do definice třídy, ale o tom později, nebudeme se tím teď zatěžovat.

Generické programování

Generické programování je ještě další programovací postup podporovaný C++. S OOP sdílí cíl vytváření jednoduššího kódu pro znovupoužití. Programování pomocí předloh zahrnuje rozšíření jazyka, takže můžete napsat jedinou f-ci pro všeobecný typ a použít ji pro varianty různých typů. Šablony C++ poskytují mechanismus, který to provádí.

C++

C++ začíná také v Bell Labs, kde počátkem 80. let vyvinul tento jazyk Bjarne Stroustrup. Jméno C++ pochází z přírůstkového operátoru C++, který přičítá k hodnotě proměnné jedničku. Připomíná tedy jasně rozšířenou verzi jazyka C. Stroustrup založil C++ na stručnosti C, přidal rysy OOP aniž by významně změnil složku C. C++ je tedy nadstavba znamenající, že každý program napsaný v C je také platným programem pro C++. Programy v C++ mohou využívat softwarové knihovny C. Knihovny jsou kolekce programových modulů, které můžete volat z programu.

Přenositelnost a standardy

Pokud program napíšete na starším PC 286, nespustíte ho na pracovní stanici Sun - používá jiný procesor a jiný OS. Musíte překompilovat program za použití kompilátoru, který je navržen pro danou platformu. Pokud můžete přeložit program bez provedení změn v kódu, a ten běží bez nesnází, říkáme, že je program přenositelný. Překážek je více, například hardware. Program, který je hardwarově závislý, pravděpodobně nebude přenositelný. Postupně vznikly standardy ANSI a ISO, které spojili svoje úsilí vytvořit standardy a zdůrazňovaly tak C++ jako široce rozšířitelný jazyk.

Mechanismus vytváření programu

Popíšeme si kroky tvorby programu:

  1. Použijte nějaký editor na sepsání kódu a uložte ho do souboru. Toto je zdrojový kód vašeho programu (myšleno napsat pár řádků textu například do poznámkového bloku).
  2. Přeložte zdrojový kód. To dělá zmíněný kompilátor – přeloží zdrojový kód do strojového jazyka. Nyní máte objektový kód vašeho programu.
  3. Sestavte objektový kód spolu s dalšími kódy (knihovnami) – funkcemi. Tímto vytvoříte spustitelnou verzi programu – proveditelný kód.

Jak tedy postupovat

My tyto kroky budeme dělat v jednom programu. Na výběr máme z více produktů – Microsoft Visual C++ 6.0, Dev-C++, Borland C++ či GNU C++ na Unixu nebo Linuxu. Přípony zdrojového kódu bývají většinou *.cpp, *.h, *.c –jsou závislé na implementaci C++. My se budeme zabývat tvorbou programů pod Dev-C++, který je zdarma ke stažení. V sekci Download naleznete odkaz na odzkoušenou verzi, kterou používám já. Není nejnovější, ale spustíte na ní vše, co zde uvidíte, proto ji doporučuji. O nic ochuzeni nebudete. Dále ještě popíšu, jak na práci s Microsoft Visual C++ 6.0 –tam je to složitější –či jak na gcc.

Dev-C++

Kde ho seženu: zdarma ke stažení v sekci Download
Čeština: ano
Velikost: cca 7,6 MB
Velmi kvalitní editor i kompilátor dohromady. Je zdarma a navíc česky. Spustíme program, Klikneme na Program → Nový → Zdrojový kód nebo použijeme zkratku v navigační liště či Ctrl + N. Do okna vepíšeme náš zdrojový kód a stiskneme F9. Budeme dotázáni, kam chceme uložit zdrojový soubor, objektový kód a nakonec i spustitelný program (.exe), poté se program sám zkompiluje a zároveň se nám i spustí.

Visual C++ 6.0

Kde ho seženu: nutno zakoupit si sadu Visual Studio C++ 6.0
Čeština: ne
Velikost: cca 3 CD komplet
Editor a kompilátor z dílny MS, kvalitní, obtížnější manipulace pro začátečníka, anglicky. Spustíme Visual C++ (najdeme ho ve Start nabídce pod záložkou Visual Studio 6.0), klikneme na File → New → záložka Files → vybereme C++ Source file a do okna vepíšeme zdrojový kód. Poté stiskneme F5 (zeptá se nás to, zda chceme zapnout pracovní plochu, dáme ano, poté kam uložit daný soubor a nakonec se program zkompiluje a spustí.

GCC

Kde ho seženu: integrován v Linuxu
Čeština: ne (starší verze částečně počeštěné)
Velikost: cca 8,5 MB
Je v každé distribuci Linuxu. Vytvořil ho Richard Stallman - vůdčí osobnost Free software foundation a propagátor GNU. Používá ho integrované vývojové prostředí Kdevelop, které je zdarma. Založíme projekt, vepíšeme kód, zadáme automake, autoconfigure a compile a máme spustitelný kód. Navíc i skript configure, pomocí kterého si to kdokoli zkompiluje.

Pojmy

  • Compile – znamená přeložit kód, který jste právě napsali.
  • Build – přeložit zdrojové soubory.
  • Link – sestavení objektového kódu s dalšími kódy.
  • Run nebo Execute – znamená spustit program, vykonat ho.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Lukáš ChurýLukáš je šéfredaktorem Programujte, vyvíjí webové aplikace, fascinuje ho umělá inteligence a je lektorem na FI MUNI, kde učí navrhovat studenty GUI. Poslední dobou se snaží posunout Laser Game o stupeň výše a vyvíjí pro něj nové herní aplikace a elektroniku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý