Archív Inet.sk Pôvodný autor: Michal Kyžňanský
17. 02. 2006 o 00:00 11993x

XX. Diel C++ - Triedy I.

Začíname novú kapitolu programovania v C++. Triedy sú hlavnou súčasťou objektovo-orientovaného programovania. Je to hlavné rozšírenie jazyka C++ oproti C. Triedy umožňujú znovu používať kód, dediť vlastnosti a iné veľmi špecifické procedúry.
XX. Diel C++ - Triedy I.
Trieda a objekt, - to sú hlavné zložky objektovo orientovaného programovania v C++. Tieto dva pojmy budeme používať pri objasňovaní princípov objektovo orientovaného programovania. Trieda je dátový typ, ktorý je možno vysvetliť/predstaviť si ako premennú, ktorá obsahuje rôzne zložky a je to akési makro určitých objektov. Trieda obsahuje nejaké svoje dáta – premenné a nejaké svoje metódy. Deklarovanie triedy môžeme zapísať pod tri rôzne časti: Public: – príkazy a deklarácie pod týmto príkazom búdu verejné a dostupné v ostatných triedach, Protected: - deklarácie pod týmto zápisom budú dostupné pre našu triedu a pre jej potomkov ale inde nie, Private: – pod touto deklaráciou budú príkazy, funkcie a premenné, ktoré nemôžeme používať mimo triedy. Základné typy deklarácie triedy sú:

//pomocou deklarácie typedef typedef class {
public:
...................................
...................................
...................................
private:
...................................
..................................
}nazov_triedy;

//priamo

class nazov_triedy {
public:
...................................
...................................
...................................
private:
...................................
..................................
};


Príklad na deklaráciu, ktorá obsahuje premenné a metódy:
class pocitac { 
public:
char procesor[20], ma_doska[20], graf_karta[20];
int RAM, CPU_freq;

void test(int vstup);
int vypocet(void);
};


Ak by sme chceli pracovať s dátami, ktoré obsahuje trieda pocitac, tak je to pokojne možné v rámci celého programu, pretože je definovaná ako public. Ukážeme si však použitie konštruktoru a deštruktoru v triedach a deklaráciu statických a dynamických premenných typu trieda, čo je dôležitým aspektom pre pochopenie ďalšej práce s OOP.

Statické

Statická deklarácia reprezentuje zápis napr. pocitac pc; tento spôsob deklarácie hovorí, že pamäť pre vytvorený premennú/objekt bude dostupná okamžite po deklarácii a bude uvoľnená až po skončení programu. Pri použití statickej deklarácie sa pristupuje k prvkom triedy nasledovne:
pocitac.RAM = 1024;	//prístup pomocou operátora .


Dynamické

Je deklarovanie pomocou dynamicky alokovanej pamäte. Deklarácia pocitac *pc; vytvorí pointer-ukazovateľ, ktorý nebude obsahovať priamo dáta premennej, alebo prvku triedy, ale iba adresu v pamäti. Miesto pre premennú je nutné manuálne alokovať pomocou konštruktoru - operátoru new (alebo vlastne naprogramovaným konštruktorom). Dynamicky alokované premenné je tiež nutné aj manuálne zrušiť po skončení práce s ňou pomocou deštruktoru - operátoru delete. Pri dynamickej deklarácii sa pristupuje k prvkom triedy nasledovne:
pocitac->RAM = 1024; //prístup pomocou pointerov


Konštruktor

Konštruktor a deštruktor majú tiež svoje špecifiká, dajú sa prispôsobiť tomu čo potrebujeme. Konštruktor je v programovacom jazyku C++ špeciálna metóda, ktorá alokuje miesto v pamäti pre dynamické premenné. Nevracia žiadny parameter. Ide hlavne o konštruktor, ktorý sa delí na implicitný a explicitný.

Implicitný konštruktor tiež nazývaný default konštruktor je generovaný automaticky C++ Builderom, keď použijeme konštruktor new. Jeho úlohou je automaticky alokovať premennú bez zásahu do jej parametrov alebo súčastí bez nutnosti programovania.

Explicitný konštruktor je iný v tom, že máme voľné ruky, pretože jeho hlavnou úlohou je možnosť alokovať premennú a zároveň do nej zapísať hodnotu/hodnoty. Používa sa práve pri spomínaných prípadoch, keď potrebujeme vopred určiť parametre premenných. Hlavná úloha explicitného konštruktora je teda volať konštruktor s parametrami. Ukážeme si príklad:
//deklaráciu našej triedy pocitac nahradí nová 

class pocitac
{
public:
char procesor[20],
ma_doska[20],
graf_karta[20];

int RAM, CPU_freq;

pocitac(
char pprocesor[20],
char mma_doska[20],
char ggraf_karta[20]);

void test(int vstup);
int vypocet(void);
};

//programovanie konštruktoru – jeho tela,
//tým že konštruktor naprogramujeme vlastnoručne
//nemusíme napr. alokovať všetky časti triedy, to je
//jednou z výhod explicitného konštruktoru

pocitac::pocitac(char pprocesor[20],char mma_doska[20],
char ggraf_karta[20]){

strcpy(procesor,pprocesor);
strcpy(ma_doska,mma_doska);
strcpy(graf_karta,ggraf_karta);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{

pocitac *moj;
moj = new pocitac("Athlon","Asus","Nvidia");
//volanie konštruktora s parametrami
ShowMessage(moj->procesor);
}


Nabudúce budeme pokračovať v kapitole triedy a preskúmame dedičnosť.

Súvisiace články:

Prehľad všetkých dielov

Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami Oznamy
21. 10. 2026

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami

Vývojársky tím PHP vydal dôležité bezpečnostné záplaty pre všetky oficiálne podporované verzie PHP 8. Na našich serveroch sme nezaváhali ...

Čítať viac
Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies