Kurz C++, Lekce 1
Jiří Pipošiar, 12.3.2003

Váš první program
Než začneme psát zdrojový kód, je vhodné(většinou spíše nutné) vytvořit si projekt . Jak už sem napsal dříve, budu popisovat práci v prostředí MS Visual C++ 6.0 - takže si otevřte menuFile->New a vyberte záložku Project. Jak vidíte můžete si vybrat z mnoha přednastavených projektů. Nám bude nejvíce vyhovovat Win32 Console App.

Jméno si zvolte libovolně, klepněte na OK a vyberte An empty project. Vytvořte si nový soubor (pojmenujte ho třeba main.cpp).

Možná bych měl zdůraznit, že zdrojové soubory C++ mají příponu *.cpp, zatímco zdrojové soubory jazyka C pouze *.c - takže jelikož se učíme C++, budeme používat *.cpp (záměna by mohla způsobit, že nebudeme schopni daný soubor přeložit, překladač totiž podle přípony zjišťuje, jestli je daný zdrojový kód v C nebo C++).
Teď už ale k věci, a tou je výpis zdrojového kódu:

//main.cpp - zaciname
#include <iostream>       //direktiva preprocesoru
using namespace std;      //zpřístupní definice a deklarace  
int main()                //hlavička funkce
{                         //začátek těla funkce
    cout << "Ahoooooj";   //způsobí vytisknutí pozdravu
    cout << "\n";         //vytiskne znak noveho řádku

    return 0;             //ukončí funkci
}                         //konec těla funkce


Pokud něco podobného vidíte poprvé, asi teď bezradně nad tím vším kroutíte hlavou. Nezoufejte, není to tak těžké, jak to vypadá...
Takže popořadě.

První řádka začíná znaky "//" - tyto znaky uvozují začátek komentáře, který končí na konci řádku. Překladač ignoruje vše, co se za lomítky objeví.

Na druhé řádce je použíta direktiva preprocesoru include. Ta konkrétně neudělá nic jiného, než že zkopíruje obsah souboru iostream na místo, odkud byla volána. Proč je to tak si povíme později. V tomto souboru(iostream) jsou zapsány informace o tom jak má jazyk komunikovat s okolím, např. přijímat údaje od uživatele nebo vypisovat text (příkladem může být objekt cout, o tom ale také později). 

Na dalším řádku je volána další direktiva, tentokráte using. Ta má za úkol zpřístupnit definice a deklarace, které se v souboru iostream nacházejí, a to konkrétně v prostoru jmen (namespace ) nazvaném "std ". (Pozn.: Pokud vám překladač druhý řádek nespolkne a bude hlásit něco jako že nenalezl soubor iostream, zkuste ho doplnit o příponu ".h". Potom ale smažte celý třetí řádek s direktivou using. Jestli se vám něco takového přihodí, máte pravděpodobně zastaralý překladač). Podrobnější vysvětlení této direktivy si necháme na pozdější lekce. 

Dále tu vidíme hlavičku funkce main (). Ano, je tam  main (), nikoliv Main(), MAIN() nebo snad MaiN () => jazyk C++ je citlivý na velikost písmen , takže bacha! A proč píšu za název funkce ty závorky? Protože jsou její součásti, obsahují totiž seznam parametrů, které jsou funkci předávány. I když nemá funkce žádné argumenty (parametry), musíme závorky psát také, jinak by pak výraz main překladač chápal jako název proměnné. Před názvem funkce je klíčové slovo int což reprezentuje typ návratové hodnoty funkce, v tomto případě tedy celé číslo (integer).

Uvnitř těla funkce main(), které je vymezeno otevřenou a uzavřenou složenou závorkou, jsou volány 3 příkazy (každý příkaz je v C++ ukončen středníkem !). Hned první dva příkazy používají objektu cout aby vyslali na obrazovku řetězec "Ahoj" a poté hned znak konce řádku "\n", který způsobí odřádkování... Proč je to zapsáno takhle a ne jinak si povíme opět později.

Nakonec tu máme příkaz return. Je použit pro ukončení funkce main(), ale i jakékoli jiné funkce. Program pak pokračuje hned za místem kde byla dotyčná funkce volána (v případě fce main() se s touto funkcí ukončí i celý program, je to tedy hlavní funkce programu, které se předá řízení programu hned při jeho startu). A co znamená ta nula nakonci? To je návratová hodnota funkce, a informuje nás(v tomto případě spíše operační systém), jestli fce skončila úspěšně nebo neúspěšně. Konečné rozhodnutí výboru ANSI/ISO C++ je, že funkce main() má končit příkazem return 0; pokud ho implicitně nedodáte...

(Pozn.: Pokud se vám stane, že po přeložení a spuštění programu z této nebo následujících lekcí nestihnete přečíst výstup vašeho programu (okno jen "problikne"), přidejte před příkaz return následující kód: cin.get();
Je to proto, že některá prostředí vykonávají program ve svém samostatném okně, které pak, jakmile program skončí, okamžitě zavřou.  Pokud by problém přetrvával, vložte na samé místo předchozí kód ještě jednou. První příkaz způsobí načtení znaku nového řádku, který ještě nebyl zpracován v některé z předchozích operací. Ten druhý pak čeká, až uživatel stiskne klávesu Enter)

To by snad bylo pro začátek všechno... V dalším díle se trochu blíže podíváme na práci s proměnnými, takže to bude zase krapet zajímavější:))

Kurz C++, Úvod Seznam lekcí Kurz C++, Lekce 2