16. července 2015 16:16

1. díl - Ahoj, světe!

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.

Kompilování

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).

Vývojové prostředí

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.

Instalace GCC a Code::Blocks ve Windows

Z oficiálních stránek programu Code::Blocks si můžete stáhnout instalačku, která rovnou obsahuje i kompilátor GCC.

CodeBlocks.org - Sekce Downloads

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.

Instalace GCC a Code::Blocks v Ubuntu

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:

sudo apt-get install codeblocks g++

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í.

Code::Blocks - Vytvoření projektu

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:

Code::Blocks.org - Nastavení názvu a cesty projektu

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:

Code::Blocks.org - Okno 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:

Code::Blocks - Nastavení C++11

Nyní jste připraveni na napsání svého prvního programu v C++.

VC++ a Visual Studio

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:

Visual Studio - Nový projekt

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:

Visual Studio - Okno Solution Explorer

Nyní jste připraveni na napsání svého prvního programu v C++.

Ahoj, světe!

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;
}

Kompilace a spuštění v Code::Blocks

V horní liště programu stačí kliknout na ikonku (viz screenshot) nebo zmáčknout klávesu F9.

Code::Blocks - Kompilace a spuštění

Kompilace a spuštění ve Visual Studiu

V horní liště programu stačí kliknout na ikonku (viz screenshot) nebo zmáčknout klávesu F5.

Visual Studio - Kompilace a spuštění

Výsledek

Pokud jste vše udělali správně, mělo by se vám zobrazit podobné okno jako na screenshotu:

Program

Stisknutím klávesy Enter program ukončíte.

Stručný popis programu

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ě.

České znaky

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.

Shrnutí

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í.

Hodnocení

Celkové hodnocení
7 hlasů
Vaše hodnocení
Vyberte počet hvězdiček

Komentáře

Jméno:
Předmět:
Komentář:
  :):-|:P:D;):(8)[evil][arrow][idea][?][!]
Kontrola:

16.7.2015 21:50:00 Re: C++

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...

Víčko
1
0

16.7.2015 16:55:37 C++

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í :D 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 :)

Briant
1
0
© 2011 - 2017 SuperMartas a Tomáš Hypeš