Jazyk C++ vznikl již v roce 1983 rozšířením jazyka C (1972) o nové konstrukce, především o objektově orientované programování (OOP). Když si vezmete, kam se informační technologie posunuli od té doby, tak vám tento jazyk bude připadat jako dědeček. Jeho stáří ale není na škodu, ba naopak - je léty prověřený a vyladěný. To ovšem neznamená, že v dnešní době umí vše, co umět může - i přes jeho stáří stále probíhá jeho vývoj a poslední dvě verze C++11 (2011) a C++14 (2014) přinesly mnoho novinek. A už se připravuje další aktualizace na rok 2017.
Kód jazyka C++ nelze spustit přímo, jako tomu je u některých jazyků (HTML (JavaScript), PHP, Python...), ale musí se přeložit do binárního kódu, kterému rozumí procesor počítače. Tomuto procesu se říká kompilace a programu, který kompilaci provádí, se říká kompilátor. Skutečnost, že vlastní program je v binární podobě, přináší výhody i nevýhody. Nespornou výhodou je rychlost takového programu, protože ten se už nemusí složitě zpracovávat, neboť obsahuje přímo binární instrukce pro procesor. Díky této vlastnosti se často používá pro programování hardwaru, nebo i ve velkých počítačových programech jako je operační systém, prohlížeč webu, ve kterém čtěte tento článek, a nebo hry, které potřebují ušetřit co nejvíc, aby si hráč mohl vychutnat reálnější realitu, než je ta naše. Nevýhodou je, že takový binární program není přenositelný na jiné platformy (např. program zkompilovaný pro Windows nelze spustit na Linuxu). Řešení je jednoduché - program se prostě musí pro každou platformu zkompilovat zvlášť odpovídajícím kompilátorem.
Všechny zdrojové kódy, které naleznete v tomto seriálu, budu testovat v kompilátorech GCC (GNU Compiler Collection) a VC++ (Visual C++) od Microsoftu. Osobně doporučuji používat GCC, protože funguje jak na Linuxu, tak na Windows (VC++ je pouze pro Windows) a rychleji implementuje novinky (verze 5 kompletně podporuje nejnovější standard C++14).
Program v C++ lze napsat např. v Poznámkovém bloku a kompilace lze spustit z příkazové řádky. Rozhodně to ale není nejpohodlnější řešení. Existuje mnoho programů (IDE), které vám programování ulehčují. Mají mnoho funkcí jako zvýraznění a kontrola syntaxe, našeptávač atd. a především dovolují zkompilovat a spustit program jedním kliknutím. Dnes vám ukážu dva takové programy - Code::Blocks a Visual Studio. Je na vás, který z nich si zvolíte.
Z oficiálních stránek programu Code::Blocks si můžete stáhnout instalačku, která rovnou obsahuje i kompilátor GCC.
Na screenshotu obsahuje kompilátor druhá a třetí verze, přičemž třetí obsahuje novější verzi. Stáhněte ji a nainstalujte. Po úspěšné instalaci můžete přejít k vytvoření projektu.
Asi nejjednodušší cestou, jak získat Code::Blocks a kompilátor pro Ubuntu, je otevřít si terminál a zadat následující příkaz:
Pravděpodobně budete dotázani na heslo. Dále program apt-get najde všechny závislosti a bude po vás chtít potvrzení. Jakmile potvrdíte, vše se nainstaluje. Program pak můžete spustit přímo z terminálu příkazem codeblocks, a nebo ho najít v grafickém rozhraní.
Pokud máte program spuštěn, nový projekt založite pomocí průvodce, který naleznete ve File > New > Project.... Otevře se vám okno s výběrem šablon. Vyberte Empty Project. Dále v průvodci nastavte název projektu a místo uložení, viz screenshot:
Všechny ostatní hodnoty nechte výchozí.
Po vytvoření projektu je potřeba vytvořit soubor, do kterého budeme psát náš první program. Soubor vytvoříme opět přes hlavní nabídku programu: File > New > Empty file. Program vám nabídně uložení. Uložte ho do složky projektu a pojmenujte ho například program.cpp. Nakonec se vám objeví okno s dotazem, do kterých cílů v projektu se má soubor přidat. Nechte zaškrtnuté oba a dejte Ok. Soubor by se měl objevit vlevo v okně Management:
Dále není na škodu, pokud v projektu nastavíte kompilování podle nového standardu jazyka C++. To provedete tak, že v hlavní nabídce vyberete Project > Build options.... Otevře se vám okno s nastavením pro kompilaci. Vlevo vyberte úplně první položku, aby nastavení platilo pro všechny cíle. Potom zaškrtněte možnost Have g++ follow the C++11 ISO C++ language standard [-std=c++11], viz screenshot:
Nyní jste připraveni na napsání svého prvního programu v C++.
Z oficiálních stránek si můžete stáhnout verzi Express, která je zdarma (vyžaduje registaci/přihlášení k Microsoft účtu). Tato verze umožňuje vývoj aplikací v několika jazycích včetně C++. Instalačka nainstaluje vše potřebné.
Pokud máte program otevřen, nový projekt vytvoříte přes hlavní nabídku programu: FILE > New Project.... Otevře se vám okno s výběrem šablony. Vyberte Visual C++ > Empty Project a vyplňte název projektu a umístění, viz screenshot:
Po vytvoření projektu je potřeba vytvořit soubor, do kterého budeme psát náš první program. Soubor vytvoříme opět přes hlavní nabídku programu: PROJECT > Add New Item... Program vám nabídne typy souborů, ponechte vybraný C++ File a soubor pojmenujte např. program.cpp. Soubor by se měl objevit vpravo v okně Solution Explorer:
Nyní jste připraveni na napsání svého prvního programu v C++.
Je zvykem, že při učení jakéhokoliv programovacího jazyka se začíná jednoduchým programem, který nedělá nic jiného, než pouze zobrazí prostý text Ahoj, světe! (v angličtině Hello, world!). Jak jste nejspíš už poznali z názvu tohoto dílu, ani zde tomu nebude jinak.
Již máte připraven soubor program.cpp ve vašem IDE. Do něj nyní můžete napsat (zkopírovat) následující kód:
#include <iostream> using namespace std; int main() { cout << "Ahoj, svete!"; cin.get(); return 0; }
V horní liště programu stačí kliknout na ikonku (viz screenshot) nebo zmáčknout klávesu F9.
V horní liště programu stačí kliknout na ikonku (viz screenshot) nebo zmáčknout klávesu F5.
Pokud jste vše udělali správně, mělo by se vám zobrazit podobné okno jako na screenshotu:
Stisknutím klávesy Enter program ukončíte.
Prvním řádkem do našeho programu vložíme soubor iostream ze standardní knihovny jazyka C++, ve kterém se nachází proměnné, funkce a objekty pro vstupně/výstupní (input/output - I/O) operace.
Další řádek nám umožní, že tyto proměnné, funkce a objekty můžeme použít přímo bez uvedení jmenného prostoru (namespace). O jmenných prostorech si podrobně povíme někdy v budoucnu.
Následuje definice funkce main. Ta musí být v každém spustitelném programu, protože je to vstupní a výstupní bod programu. Spuštění programu zjednodušeně znamnená zavolání funkce main.
Tělo funkce se nachází mezi složenými závorkami - { a }. Zde jsou příkazy, které se vykonají po zavolání funkce.
Každý příkaz končí středníkem - ; a je zvykem je psát na samostatné řádky. První příkaz pošle na standardní výstup programu (reprezentovaného proměnnou cout) naši zprávu. Druhý příkaz očekává vstup (ten reprezentuje proměnná cin), který dostane v okamžiku stisknutí klávesy Enter. S tím, co dostane, nic nedělá a pokračuje se dalším příkazem. Poslední příkaz ukončí funkci a vrátí hodnotu 0, což znamená, že program proběhl úspěšně.
Všimněte si, že jsem ve zprávě nepoužil znak ě. To proto, protože to s českými znaky není jednoduché, obzvlášť ve Windows. Schválně zkuste zprávu pozměnit, aby obsahovala ě. Pokud tento program spustíte ve Windows, místo znaku ě se zobrazí jiný znak. V Ubuntu by se zpráva měla zobrazit správně, ale i tam byste na toto chování neměli spoléhat. Jak vyřešit problém s českými znaky se podíváme někdy jindy.
Věřím, že tento díl byl pro vás náročný a pravděpodobně nestíháte vstřebávat nové informace. Nebojte, od příště už bude mírnější tempo a všechny aspekty jazyka se vám pokusím podrobně vysvětlit, aby to pochopili i ti, kteří s programováním začínají.
Momentálně bych rychlejší tempo opravdu nezvládal... V srpnu to bude lepší, ale to bych si spíš udělal zásobu, než začne škola...
Pěkný seriál Mrzí mě ale, že nový díl vychází jen jednou týdně Pokud bych se totiž doopravdy zajímal o C++ asi bych týden nevydržel a našel si jiný, bezprostřední zdroj informací Ale chápu, že napsat takovýhle díl o 8276 znacích vyžaduje dost času a úsilí a proto nemůže být vydáván například každý den