Inicializace a přiřazení

Když proměnné dáte hodnotu hned při vytvoření, říká se tomu inicializace. Později do ní můžete uložit jinou hodnotu, a tomu se říká přiřazení. Při přiřazení napíšete název proměnné, = a novou hodnotu, ale už bez datového typu, protože proměnná už existuje:

int skore = 0;
std::cout << "Skóre: " << skore << "\n";
skore = 50;
std::cout << "Skóre: " << skore << "\n";

Vypíše:

Skóre: 0
Skóre: 50

Program provádí příkazy jeden po druhém, shora dolů. Když se provádí první výpis, je v proměnné skore hodnota 0. Další řádek ji nahradí hodnotou 50 a původní hodnota zmizí. Druhý výpis proto vypíše už novou hodnotu.

Častá chyba je napsat při přiřazení znovu datový typ: int skore = 50;. Tím byste vytvářeli druhou proměnnou se stejným názvem, a to C++ nedovolí. Program se nepřeloží a překladač ohlásí chybu redefinition of 'skore', tedy že název skore definujete podruhé.

Do proměnné můžete uložit i hodnotu jiné proměnné. Uloží se kopie hodnoty, takže když potom jednu z proměnných změníte, ta druhá se nezmění:

int rekord = 50;
int skore = rekord;
rekord = 80;
std::cout << skore << " a " << rekord << "\n";

Vypíše:

50 a 80

Proměnnou můžete vytvořit i bez hodnoty a hodnotu jí přiřadit až později:

int skore;
skore = 50;

Dokud do ní ale nic neuložíte, nemá proměnná žádnou určenou hodnotu. Obsahuje to, co zrovna zbylo na jejím místě v paměti, a C++ vás nezastaví:

int skore;
std::cout << "Skóre: " << skore << "\n";

Na tomto webu tento program většinou vypíše Skóre: 0, ale na jiném počítači může vypsat třeba Skóre: 76646343 a při dalším spuštění zase něco jiného. Na nulu se proto nespoléhejte a proměnným dávejte hodnotu hned při vytvoření: int skore = 0;.

Pokyny

Proměnná teplota zatím nemá žádnou hodnotu, takže program vypisuje číslo, které do ní nikdo neuložil. Inicializujte ji: při vytvoření jí dejte hodnotu 12. Program pak vypíše Ráno: 12 stupňů.

Odpoledne se oteplilo. Pod výpis přiřaďte proměnné teplota novou hodnotu 18.

Pod to vypište novou hodnotu stejným způsobem, jen místo Ráno napište Odpoledne. Program by měl vypsat:

Ráno: 12 stupňů
Odpoledne: 18 stupňů

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

Zpět

3/11

Další