Linux E X P R E S

Facebook

Programovanie v jazyku C++: Hlavičkové súbory

cplusplus.png

V minulom diele sme si niečo povedali o funkcii main() a ďalších zaujímavostí. Tento článok sa bude zameriavať na tematiku hlavičkových súborov, priestoru mien, komentárov a zakončíme to znakom nového riadku.


Hlavičkové súbory

V minulom diele sme si spomenuli súbor iostream. Patrí do kategórie hlavičkových súborov. Samotný kompilátor obsahuje mnoho hlavičkových súborov, ktoré podporujú rôzne operácie a činnosti. Napríklad hlavičkový súbor math.h podporuje širokú škálu matematických úkonov.

Súbor iostream podporuje vstup a výstup a v starších verziách jazyka C++ bol jeho tvar #include <iostream.h>. V súčasnej verzii kompilátora práve pre podporu priestoru mien v jazyku C++ už nemusíte (resp. nesmiete!) pri #include<iostream> za iostream písať koncovku h.

Jazyk C++ podporuje aj konvertované hlavičkové súbory z jazyka C, napríklad cmath. Pri týchto hlavičkových súborov sa píše predpona c.

Priestory mien

Keby ste skúsili zariskovať a napísali by ste #include <iostream.h>, prekladač by vám pekne vynadal. Samozrejme, predpokladáme, že v súčasností každý má najnovšiu verziu kompilátora C++ (C++14, poprípade staršiu verziu C++11).  V budúcich častiach seriálu budeme automatický predpokladať, že nikto neprekladá programy archaickou verziou kompilátora.

Pri tvare #include <iostream> bez koncovky h a podporou std, je pohodlnejšie v programovaní vyžívať direktívu:

using namespace std;

Premenné, funkcie a triedy sú štandardné komponenty kompilátora jazyka C++. Tieto komponenty sú uložené v priestore mien (namespace), ktorý sa nazýva std. Úložisko do std platí len pre hlavičkové súbory bez koncovky h.

Vezmime si napríklad stream cin zo súboru iostream, ktorá je využívaná pre vstup od užívateľa, sa nazýva presne std::cin. Ak využijeme using namespace std, stačí napísať len cin.

Príklad 1: Najprv bez deklarácie std na začiatku

#include <iostream>

int main()
{
  std::cout << "Vítam ťa späť pri ďalšom diele o jazyku C++\n";
  std::cout << "Čo dnes podnikneme?\n";
  std::cout << "Pravdu máš, práca s deklaráciou std na začiatku je komfortnejšia!\\n";
  return 0;
}

S deklaráciou std na začiatku:

#include <iostream>

using namespace std;

int main()
{
  cout << "Vítam ťa späť pri ďalšom diele o jazyku C++\n";
  cout << "Čo dnes podnikneme?\n";
  cout << "Pravdu máš, práca s deklaráciou std na začiatku je komfortnejšia!\n";
  return 0;
}

Komentáre v C++

Poznámka začína za dvojitým lomítkom //. Kompilátor ignoruje všetko, čo je za //.  Komentáre sú používane na okomentovanie časti zdrojového kódu.  Ak chceme zakomentovať viac ako jeden riadok, na to slúži druhý spôsob zakomentovania a to /* (začiatok) a */ (koniec).

Príklad 2: Využitie komentárov

#include <iostream>

using namespace std;

int main()
{
  string meno;  // deklarácia premennej typu string
  cout << "Napíš svoje meno: ";   // funkcia vypíše na obrazovku reťazec
  cin >> meno;   // vstup od užívateľa
  cout << "Vítam ťa používateľ "<<meno;   //výpis reťazca a premennej na obrazovku
  return 0;   // ukončenie programu 
}

Znak nového riadku

Dvojznak \n nazývame znak nového riadku. Aj keď, ako ste si všimli, skladá sa v zápise z dvoch znakov, ale kompilátor vníma \n ako jeden znak. Tento znak uskutoční presun na začiatok nového riadku.

Stream cout po vstupe reťazca nevykoná presun na nový riadok. Preto je potrebné dodať znak \n. Najlepšie je si to porovnať na príkladoch.

Príklad 3: Najprv si pozrieme bez znaku nového riadku:

#include <iostream>

using namespace std;

int main()
{
  cout << "Dnes bude slnečno s teplotou vzduchu 22°C.";
  cout << "Zajtra sa ochladí na 15°C a bude sychravo.";
  cout << "Pozajtra bude horúci deň a kľudne môžte navštíviť bazény!";
  return 0;
}

Výstup programu:

Dnes bude slnečno s teplotou vzduchu 22°C. Zajtra sa ochladí na 15°C a bude sychravo. Pozajtra bude horúci deň a kľudne môžte navštíviť bazény!

Asi sami uznáte, že to moc prehľadne nevyzerá. Buďme náročnejší na formátovanie textu a skúsme každú vetu umiestniť do nového riadka.

Skúsme teraz pridať znak nového riadku:

#include <iostream>

using namespace std;

int main()
{
    cout << "Dnes bude slnečno s teplotou vzduchu 22°C.\n";
    cout << "Zajtra sa ochladí na 15°C a bude sychravo.\n";
    cout << "Pozajtra bude horúci deň a kľudne môžte navštíviť bazény!.\n";
    return 0;
}

Vystúp programu:

Dnes bude slnečno s teplotou vzduchu 22°C.
Zajtra sa ochladí na 15°C a bude sychravo.
Pozajtra bude horúci deň a kľudne môžte navštíviť bazény!

Diskuze (7) Nahoru