萧墙是什么意思| 压疮是什么| 宫颈机能不全是什么原因造成的| 保护声带喝什么| 月经期适合做什么运动| 黄金芽是什么茶| 长期吃避孕药有什么副作用| td代表什么意思| 社保缴费基数什么意思| 抑郁状态和抑郁症有什么区别| 吃得什么填词语| 双胞胎是什么意思| 左后背疼什么原因| 恋爱观是什么| 嗓子发炎肿痛吃什么药| 头顶疼是什么原因引起的| 男大女6岁有什么说法| 人瘦是什么原因造成的| 月字旁的字和什么有关| 海棠花什么季节开花| 一个兹一个子念什么| 落花生的落是什么意思| kangol是什么牌子| 膝盖发软无力是什么原因| 夏天为什么这么热| 泌乳素偏高是什么原因| 一个虫一个离念什么| 维生素b6主治什么病| 布病挂什么科| 转氨酶偏高是什么原因引起的| c反应蛋白是查什么的| 跳什么舞减肥最快| 肝硬化什么症状| ipf是什么病| 水杯什么材质的好| 睡觉吐气是什么原因| 偏袒是什么意思| 艮什么意思| 少校什么级别| 公主是什么意思| 拜你所赐什么意思| 缺铁性贫血吃什么药好| 女人左眼角有痣代表什么| 甘油三酯偏高是什么意思| 冷笑是什么意思| 腋下异味看什么科| 11月28日是什么星座| 身体逐渐消瘦是什么原因| 糯叽叽什么意思| 酸菜鱼可以放什么配菜| ada医学上是什么意思| 信物是什么意思| 北边是什么生肖| 氢什么意思| 除服是什么意思| 口腔检查挂什么科| 吃什么补维生素a| 血糖高饮食需要注意什么| 下线是什么意思| nmr是什么意思| 青霉素过敏可以吃什么消炎药| 大生化检查能查出什么病来| 孩子是ab型父母是什么血型| 什么叫npc| 幽门螺旋杆菌是什么原因造成的| 春光乍泄是什么意思| 朋友圈提到了我是什么意思| 最大的罩杯是什么杯| 穿刺是什么意思| 直肠肿瘤手术后吃什么| 孕妇查凝血是检查什么| cm是什么单位| 鼻子出汗多是什么原因| 灶性肠化是什么意思| 十二生肖分别是什么| spa什么意思| 维生素b有什么作用| 薄荷音是什么意思| 怀疑心衰做什么检查| 拔牙后吃什么食物最好| 粉瘤挂什么科| 月寸读什么| 升白细胞的针剂叫什么| 睡觉手麻是什么原因| 禾加末念什么| 为什么今年闰六月| sunny是什么意思| 哺乳期可以吃什么水果| 香港为什么不用人民币| nt检查需要注意什么| cbd什么意思| 小便发黄是什么原因引起的| 心肾不交有什么症状| 舌下腺囊肿挂什么科| 高位截瘫是什么意思| 呔是什么意思| 苔藓是什么植物| 柠檬加蜂蜜泡水喝有什么功效| 汆是什么意思| 火可念什么| 欧亚斯密什么意思| 上下眼皮肿是什么原因| 股票除权是什么意思| 五字五行属什么| 甲状腺球蛋白抗体低说明什么| rose是什么意思| 8月1号是什么星座| 什么水果是温性的| 尿酸低是什么意思| 履新是什么意思| dia是什么意思| 隐翅虫是什么| 热菜是什么梗| 浮躁是什么意思| sid是什么意思| 淋球菌是什么| 两手发麻是什么原因| 冲煞是什么意思| 梦见包丢了是什么意思| 四季春是什么茶| 一如既往的意思是什么| 清明节是什么时候| 慢性荨麻疹是什么原因引起的| 酒鬼酒是什么香型| ygk是什么牌子| 唇炎用什么药| 芥蒂是什么意思| 唇炎看什么科室| 栗子不能和什么一起吃| 疱疹是什么原因引起的| 丧门是什么意思| 心律不齐是什么症状| 经常嘴苦是什么原因| 拉肚子可以吃什么菜| 婴儿睡觉头上出汗多是什么原因| 女人梦见下雪是什么征兆| 牙龈发炎是什么原因引起的| 男人艾灸什么地方壮阳| 乌鸡蛋是什么颜色| 什么然有序| 胃疼和肚子疼有什么区别| 拖油瓶是什么意思| 收缩压低是什么原因| 高考用什么笔| 11.18是什么星座| 富二代是什么意思| 挑担是什么关系| anker是什么牌子| 送男教师什么礼物合适| 双鱼座什么性格| 梗阻是什么意思| 烦躁是什么意思| 为什么左手会发麻| 什么是食品添加剂| 散光是什么症状| 灰面是什么面粉| 什么是远视| 小确幸是什么意思| 冬瓜炒什么好吃| 佟丽娅什么民族| 心里难受想吐是什么原因| 比例是什么| 2001属什么生肖| 什么动物不睡觉| 睾丸长什么样| 尿肌酐低说明什么原因| 经期不能吃什么药| 胶原蛋白什么时候喝最好| 养肺补肺吃什么药最好| 锦纹是什么中药| yair是什么牌子的空调| 额头发黑是什么原因| 五行缺金是什么命| 为什么拉屎是绿色的| 甲醛是什么| 正比和反比是什么意思| 什么是甲醛| 什么人不适合做业务员| 一什么雪花| 肠胃不好挂什么科| 梦见出国了是什么意思| 为什么打雷闪电| 看见黑猫代表什么预兆| 什么叫痔疮| 爱出者爱返福往者福来是什么意思| 什么马不能跑| 2017年是什么命| 台湾什么时候回归| 捞仔是什么意思| 吃什么对前列腺有好处| 半盏流年是什么意思| 维c有什么功效和作用| 宝刀未老的意思是什么| 肝的作用和功能是什么| 胃胀痛什么原因| 羊肚是羊的什么部位| 辛辣指的是什么| 2月16日是什么星座| 代销商是什么意思| 博物馆里有什么| 吃什么能解酒| 焖子是什么| 一月二十五号是什么星座| 城堡是什么意思| 经常拉肚子吃什么药好| 吐血是什么病| nt什么货币| 川崎病有什么症状| 无什么无| 尺寸是什么意思| 拔得头筹是什么意思| 诺贝尔奖是什么意思| 梦里梦到蛇有什么预兆| 灵泛是什么意思| 妊娠反应什么时候开始| 簸箕是什么东西| 什么是类风湿| 外阴是指什么部位| 幽门杆菌是什么意思| 七十岁老人装什么牙合适| 金字旁加女念什么字| 白细胞减少吃什么药| 喝苹果醋有什么好处| aed是什么| 梦见小猪仔什么意思| 尿频尿多是什么原因| 人为什么会得脑梗| 化疗恶心吃什么可以缓解| 人乳头瘤病毒感染是什么意思| 1987年五行属什么| 玉镯子断了有什么预兆| 手术后能吃什么水果| 红斑狼疮是什么症状| 1992年是什么年| 鼻子流血什么原因| 晚上七点到九点是什么时辰| 痔疮初期症状是什么| 中央候补委员是什么级别| 副巡视员是什么级别| 12月12号什么星座| 舒字五行属什么的| 女人被插入是什么感觉| 男孩子什么时候刮胡子| 表妹是什么关系| 牙齿上白色斑块是什么| 膝盖痛用什么药| 八戒是什么意思| 梦见被警察抓预示什么| 灵魂伴侣什么意思| 宫闱是什么意思| 布五行属什么| 前列腺炎有什么症状表现| 吃盐吃多了有什么危害| 呱唧呱唧是什么意思| 足底血查什么| poppy是什么意思| cpa是什么| 滢字五行属什么| 弱水三千是什么意思| 八月20号是什么星座| 考c1驾照需要什么条件| 因地制宜是什么意思| 腿麻脚麻用什么药能治| 帆船像什么| 百度

viacparadigmovy programovací jazyk
百度 退市需要连续3年亏损才有可能暂停上市。

C++ je viacparadigmovy programovací jazyk vy??ej úrovne na v?eobecné pou?itie, ktory umo?ňuje pracova? aj s prostriedkami nízkej úrovne. Má statickú typovú kontrolu, podporuje procedurálne programovanie, dátovú abstrakciu, objektovo orientované programovanie, ale aj generické programovanie. Od 90-tych rokov 20. storo?ia patrí k najpopulárnej?ím programovacím jazykom, pou?íva ho a? vy?e 95 % engine-ov po?íta?ovych hier.

C++
Druhviacparadigmovy
Dátum vzniku1985, naposledy upraveny v 2020
Pou?itiev?eobecné
Typová kontrolasilná, statická, nie bezpe?ná
TvorcaBjarne Stroustrup
Implementácieviacero
DialektyANSI C++ 1998, ANSI C++ 20044
Pou?ívané prípony.cc, .cpp, .cxx, .C, .CC, .h, .hpp, .hh

Bjarne Stroustrup vyvinul C++ (p?vodne nazvany ?C with Classes“) v roku 1983 v Bell Labs ako roz?írenie jazyka C. Roz?irovanie za?alo pridaním tried a nesk?r pokra?ovalo pridávaním ?al?ích vlastností ako sú virtuálne funkcie, prekryvanie operátorov, viacnásobná dedi?nos?, ?ablóny a o?etrenie vynimiek. ?tandard jazyka C++ bol schváleny v roku 1998 ako ISO/IEC 14882:1998, aktuálna verzia je z roku 2003 (ISO/IEC 14882:2003). Nová verzia ?tandardu (známa pod ozna?ením C++11 alebo C++0x) bola schválená v auguste 2011.

Dejiny

upravi?

E?te v roku 1979 Stroustrup za?al pracova? na ?C with Classes“ (C s triedami). Pri tvorbe nového jazyka vychádzal zo skúseností z dizerta?nej práce. Stroustrup zistil, ?e niektoré ?rty Simuly by boli mimoriadne u?ito?né pri vyvoji ve?kych softvérovych produktov, ale Simula je príli? pomalá na praktické pou?ívanie, zatia? ?o BCPL je rychle, ale príli? nízko-úrovňové a nevhodné na vyvoj v???ích projektov. Ke? Struostrup za?ínal pracova? pre Bell Labs jeho úlohou bolo analyzova? unixové jadro s prihliadnutím na distribuované vypo?ty. Vyu?ijúc skúsenosti z dizerta?nej práce smeroval k roz?íreniu jazyka C o ?rty aké mala Simula. Jazyk C si vybral kv?li jeho zameraniu na v?eobecné pou?itie, rychlosti a prenosite?nosti. Okrem jazykov C a Simula ho in?pirovali aj jazyky ALGOL 68, Ada, CLU a ML. Postupne pridával triedy, dedi?nos? tried, silnú typovú kontrolu, inline funkcie a ?tandardné hodnoty parametrov do jazyka C pomocou nástroja Cfront. Prvú ?tandardnú verziu vydal v októbri 1985.[1]

V roku 1983 sa zmenil názov jazyka z C with Classes na C++. Pribúdali nové ?rty ako virtuálne funkcie, pre?a?ovanie funkcií a operátorov, referencie, kon?tantné premenné, práca s haldou, zlep?ená typová kontrola a novy ?tyl komentárov na jeden riadok zapísany pomocou dvoch lomiek (//). Ke? bola v roku 1985 vydaná prvá verzia programovacieho jazyka C++ poskytovala d?le?ité odkazy na jazyk, ktoré sa ale e?te nestali oficiálnym ?tandardom. V roku 1989 vy?la verzia jazyka 2.0. Novymi vlastnos?ami boli viacnásobná dedi?nos?, abstraktné triedy, funkcie triedy (statické funkcie), kon?tantné ?lenské funkcie, neverejné atribúty (protected members). O rok nato vy?la referen?ná príru?ka (The Annotated C++ Reference Manual). Táto práca sa stala základom pre budúci ?tandard. Nedávno boli doplnené ?al?ie ?rty vrátane ?ablón, vynimiek, mennych priestorov, pretypovania a booleovského dátového typu.

Ako sa vyvíjal jazyk samotny, spolu s ním sa vyvíjali aj kni?nice. Prvá kni?nica pridaná k ?tandardu C++ bola kni?nica vstupno-vystupnych streamov, ktorá poskytovala nástroje nahrádzajúce funkcie jazyka C ako sú printf, alebo scanf. Nesk?r sa k najvyznamnej?ím roz?íreniam ?tandardu pridala STL (Standard Template Library).

Po rokoch práce po spojení komisie ANSI a ISO bol jazyk C++ ?tandardizovany v roku 1998 (ISO/IEC 14882:1998). O nieko?ko rokov po oficiálnom vydaní ?tandardu komisia zapracovala hlásenia chyb a vydala opravenú verziu ?tandardu v roku 2003. V roku 2005 bola schválená odborná správa nazvaná Library Technical Report 1 (?asto skrátene ozna?ovaná TR1). V???ina navrhovanych zmien v TR1 sa stala sú?as?ou C++11.

Aj ke? jazyk C++ je bezplatny, ?tandard nie je vo?ne dostupny.

Názov Cé plus plus

upravi?

Toto meno vytvoril Rick Mascitti (v roku 1983) a prvykrát bolo pou?ité v decembri 1983. Predtym, po?as vyskumu sa jazyk ozna?oval ako ?nové C“, potom ?C s triedami“ (C with classes). Kone?ny názov C++ pochádza z operátora ?++“ v jazyku C (ktory zvy?uje hodnotu premennej) a ?astej konvencie, ?e ?+“ sa pou?íva vo vyzname vylep?eny. Pod?a Stroustrupa: ?Meno znamená evolu?nú povahu zmien z jazyka C“. Predtym existoval nepríbuzny programovací jazyk nazvany C+.

Stroustrup sa nového mena ujal v za?iatkoch a v predslove k neskor?ím vydaniam knihy dodáva, ?e ?C++“ by mohlo by? odvodené z prílohy knihy ?1984“ od George Orwella. Z troch ?astí fiktívneho jazyka Newspeak, ?as? ?C vocabulary“ je ur?ená pre technické vyrazy a slang. Dvojité plus sa v Newspeaku pou?íva na vyjadrenia superlatívu prídavnych mien. Teda ?C++“ by mohlo ma? vyznam ?najtechnickej?í, alebo najslangovej?í“.

Ke? sa v roku 1992 Rick Mascitti neformálne pytal na meno jazyka, Stroustrup nazna?oval, ?e to bolo len také vnuknutie a nikdy by si nemyslel, ?e by sa mohlo sta? oficiálnym menom jazyka.

?astym ter?om vtipov byva názov jazyka. Postfix ++ znamená, ?e pripo?ítava? sa bude a? po operácii a teda jazyk by sa mal vola? ++C.

?al?í vyvoj

upravi?

Vyvoj C++ pokra?uje, aby jazyk dokázal uspokoji? aj budúce potreby. Najm? skupina Boost.org vytvára v???inu C++ v jeho sú?asnej podobe a radí ?tandardiza?nej komisii, ktoré rysy jazyka pracujú správne a ktoré by bolo dobré vylep?i?. Sú?asná práca ukazuje, ?e C++ bude získava? stále viac na svojej multiparadigmovej povahe. Napríklad kni?nica Boost ve?mi roz?iruje mo?nosti funkcionálneho programovania, ako aj metaprogramovania. Na novej verzii ?tandardu C++ sa pracuje. Nazyva sa C++0x (o?akáva sa, ?e vyjde v roku 2010) a bude zah?ňa? ve?a novych roz?írení.

Filozofia

upravi?

V knihe The Design and Evolution of C++ (1994), Bjarne Stroustrup popisuje niektoré pravidlá, ktoré pou?íva pri návrhu C++. Poznanie tychto pravidiel pomáha porozumie?, pre?o je tento jazyk taky aky je. Nasledujú tie pravidlá, ove?a podrobnej?ie sú v The Design and Evolution of C++.

  • C++ je navrhnuty, aby to bol jazyk so statickou typovou kontrolou v?eobecne pou?ite?ny, ktory má efektivitu a prenosite?nos? jazyka C.
  • C++ je navrhnuty tak, aby priamo a vy?erpávajúco podporoval nieko?ko ?tylov programovania (procedurálne programovanie, dátovú abstrakciu, objektovo-orientované programovanie a generické programovanie).
  • C++ je navrhnuty tak, aby dal programátorovi na vyber. Dokonca mu umo?ňuje rozhodnú? sa nesprávne.
  • C++ je navrhnuty tak, aby bol kompatibilny s jazykom C, tak ako je to mo?né. Preto je mo?ny hladky prechod z jazyka C.
  • C++ sa vyhyba ?rtám, ktoré by boli platformovo závislé, alebo orientované len na istú sadu problémov.
  • C++ nevynakladá ?iadnu ré?iu na roz?írenia, ktoré v programe nepou?ijeme.
  • C++ je navrhnuty na fungovanie bez zlo?itého programovacieho prostredia.

Stanley B. Lippman podrobne popisuje rozli?né modely v knihe Inside the C++ Object Model (1996) ako kompilátor m??e previes? vyrazy jazyka C++ na pam??ovy model. Dodávatelia kompilátora nie sú obmedzovaní akym sp?sobom implementujú ?tandard. Lippman pracoval na implementácii a údr?be Cfront-u – prvotnej implementácie C++ v Bell Labs.

?tandardná kni?nica

upravi?

?tandard C++ z roku 1998 sa skladá z dvoch ?astí: samotného jazyka (tie? niekedy aj jadro jazyka) a C++ ?tandardnej kni?nice. Nesk?r zah?ňa v???inu z Standard Template Library a mierne upravenej verzie ?tandardnej kni?nice jazyka C. Existuje ve?a kni?níc C++, ktoré nie sú ?as?ou ?tandardu a pou?ívajú externé linkovanie. Kni?nice dokonca m??u by? napísané aj v jazyku C.

?tandardná kni?nica jazyka C++ zah?ňa ?tandardnú kni?nicu jazyka C s nieko?kymi malymi úpravami, aby umo?ňovala lep?iu prácu v jazyku C++. ?al?ia ve?ká ?as? kni?nice C++ je zalo?ená na Standard Template Library (STL). Táto poskytuje také u?ito?né nástroje ako sú kontajnery (napríklad vektorpole, listzre?azeny zoznam), iterátory (zov?eobecnené ukazovatele). Tieto kontajnery poskytujú podobny prístup ako pole a poskytujú operácie ako vyh?adávanie a triedenie. Kni?nica ?alej ponúka (multi)mapy (asociatívne polia), (multi)mno?iny, ktoré ponúkajú podobné rozhranie. Potom s pou?itím ?ablón je mo?né napísa? generické algoritmy, ktoré pracujú s ?ubovo?nym kontajnerom, alebo s ?ubovo?nou postupnos?ou definovanou pomocou iterátorov. Funkcie kni?nice sa rovnako ako v jazyku C zahrnú do programu pomocou direktívy #include. C++ poskytuje ?es?desiatdev?? ?tandardnych hlavi?kovych súborov, ?al?ích dev?tnás? sa neodporú?a pou?íva? (ozna?ené ako zastárané, angl. deprecated).

Pou?ívanie ?tandardnej kni?nice (napríklad pou?ívanie std::vector, alebo std::string namiesto polí v ?tyle jazyka C) m??e vies? k bezpe?nej?iemu a ?ah?ie upravite?nému softvéru.

STL bola p?vodne kni?nica vyrobená a pou?ívaná firmou Hewlett-Packard a nesk?r Silicon Graphics, pred jej za?lenením do ?tandardu C++. ?tandard sa na ňu neodkazuje ako na ?STL“, ale len ako na ?as? ?tandardnej kni?nice, ale ve?a ?udí stále pou?íva tento pojem na odlí?enie od ostatnych ?astí kni?nice.

V???ina kompilátorov poskytuje implementáciu ?tandardu C++ vrátane STL. Existujú aj implementácie ?tandardu nezávislé na kompilátore (napr. STLPort). Iné projekty tie? vyrábajú rozli?né zákaznícke implementácie kni?nice jazyka a STL s rozli?nymi cie?mi návrhu.

Vlastnosti, ktoré priniesol jazyk C++

upravi?

V porovnaní s jazykom C, C++ priná?a nové vlastnosti, vrátane deklarácii, pretypovanie so syntaxou funkcií, new/delete, bool, referencie, inline funkcie, implicitné argumenty, pre?a?enie funkcií, priestory mien, triedy (zo v?etkymi ich ?rtami ako dedi?nos?, ?lenské funkcie, virtuálne funkcie, abstraktné triedy a kon?truktory), pre?a?enie operátorov, ?ablóna, operátor ::, o?etrenie vynimiek, RTTI.

V rozpore s populárnou domnienkou, jazyk C++ nezaviedol k?ú?ové slovo const ako prvy. Const bolo formálne pridané do jazyka C krátko predtym ako ho prevzalo C++.

C++ tie? v niektorych prípadoch poskytuje presnej?iu typovú kontrolu ako C (pozri ?Nekompatibilitu s jazykom C“ dole).

Komentáre za?ínajúce s dvomi lomkami (?//“) boli p?vodne ?as?ou BCPL (predchodca C) a boli znovuzavedené v C++.

Niektoré roz?írenia C++ boli nesk?r prevzaté jazykom C. Je to deklarácia premennej v cykle for, jednoriadkovy komentár (pou?ívajúci symbol //), direktíva inline (aj ke? definícia inline pod?a C99 nie je plne zlú?ite?ná s C++). Ale C99 tie? prichádza s novymi roz?íreniami, ktoré v C++ neexistujú, napríklad makro s premennym po?tom parametrov, alebo polia s d??kou známou a? za behu. Niektoré kompilátory m??u implementova? ?as? tychto roz?írení, ale niektoré roz?írenia neumo?ňujú kompatibilitu s C++.

Ve?mi ?astym zdrojom nedorozumenia byva terminológia. Preto?e C++ je odvodené z jazyka C, pojem objekt znamená oblas? v pam?ti (presne ako v C) a nie in?tancia triedy, ?o je vyznam vo v???ine ostatnych objektovo orientovanych jazykoch. Napríklad, v oboch jazykoch (C aj C++) deklarácia int i; definuje objekt typu int, ?i?e oblas? v pam?ti, kde bude premenná i ulo?ená.

C++ zdedilo v???inu syntaxe jazyka C a preprocesora jazyka C. Uvádzame program Hello world, ktory vyu?íva streamy zo ?tandardnej kni?nice na zápis správy na ?tandardny vystup.


#include <iostream>

int main()
{
   std::cout << "Hello, world!\n";
}

Operátory a pre?a?enie operátorov

upravi?

C++ poskytuje viac ako 30 operátorov pou?ívanych na jednoduchú aritmetiku, operácie s bitmi, operácie so smerníkmi, porovnávanie, logické operácie a ?al?ie. Takmer v?etky operátory okrem pár vynimiek (ako sú . a .*) m??u by? pre?a?ené pre u?ívate?om definované typy. Pre?a?enie operátorov je tie? sú?as?ou mnohych programovacích techník ako sú napríklad inteligentné ukazovatele. Pre?a?enie operátorov neumo?ňuje zmeni? prioritu vyhodnotenia, ani po?et operandov, ktoré operátor pou?íva (ale operand m??e by? ignorovany).

?ablóny

upravi?

?ablóny jazyka C++ umo?ňujú genericky programova?. C++ podporuje ?ablóny funkcií aj tried. ?ablóny m??u by? parametrizované typmi, kon?tantami známymi v ?ase prekladu a inymi ?ablónami. ?ablóny sú implementované pomocou ?in?tancií“ vytváranych pri preklade. Na in?tancovanie ?ablóny kompilátor nahradí jej ?ablónové parametre konkrétnymi hodnotami, aby vygeneroval po?adovanú funkciu, alebo triedu. ?ablóny sú mocnym nástrojom, ktory sa m??e pou?i? pri generickom programovaní, alebo optimalizácii kódu, ale táto sila nie?o stojí. Pou?itie ?ablón m??e zv???i? ve?kos? kódu, preto?e ka?dá in?tancia ?ablóny vyrobí kópiu kódu ?ablóny. Pre ka?dú sadu ?ablónovych parametrov sa vytvára ?al?ia kópia kódu. Toto je rozdiel vo?i generovaniu za behu, ktory m??eme vidie? v inych jazykoch (napríklad v Jave), kde pri kompilácii sa vytvára sa len jediné telo ?ablóny. ?ablóny sa lí?ia od makier. Rovnako ako makrá sa prekladajú e?te pred spustením kódu a tie? umo?ňujú vytvori? podmieneny preklad. ?ablóny v?ak nie sú obmedzené len na nahradenie tokenov. ?ablóny poznajú sémantiku, typy ako aj definície typov a doká?u vykonáva? vysokoúrovňové operácie vrátane riadenia toku programu zalo?eného na vyhodnotení parametrov s prísnou typovou kontrolou. Makrá sú schopné podmieneného riadenia kompilácie zalo?eného na vopred známych kritériách. Nedoká?u vytvára? nové typy, rekurziu, alebo získava? hodnoty z typu a ich mo?nosti sú obmedzené na nahradenie textu po?as predsprácovania po?as kompilácie. ?ablóny sú nástrojom pre staticky polymorfizmus a generické programovanie. V skratke, ?ablóny sú pri preklade parametrizovate?né funkcie, alebo triedy napísané bez znalosti typovych argumentov pou?itych pri ich in?tancovaní. Po in?tancovaní je vysledny kód rovnaky ako kód napísany s dosadením ?ablónovych parametrov. Takto ?ablóny poskytujú sp?sob na oddelenie generickych aspektov funkcií a tried od ?pecifickych aspektov (ulo?enych v ?ablónovych parametroch) bez obetovania vykonnosti kv?li abstrakcii.

Vyhodou C++ je, ?e u? má zabudovanú podporu objektov. Objekty sú dobré na r?zne veci. Sú aj modernej?ie jazyky ktoré zvládajú prefíkanej?ie metódy ako napr. C#, ale C++ je z objektovych jazykov najefektívnej?í (samozrejme v rukách skúseného programátora).

Zabalenie funkcionality (enkapsulácia)

upravi?

V C alebo asembleri treba na na?tartovanie nejakej funkcionality zavola? ve?a funkcií, napr. na inicializáciu, alokáciu pam?te a po skon?ení zas na ukon?enie a uvo?nenie pam?te. Niekedy to m??e by? dos? komplikované a nepreh?adné a dajú sa tu hlavne pod stresom robi? chyby ktoré sa potom ?a?ko h?adajú.

V C++ m??eme vyrobi? objekt, ktory toto v?etko spreh?adní a pekne ?isto zabalí, tak?e hlavne pri opakovanom pou?ití vyrazne zní?i chybovos?.

Príklad

Chceme vytvori? jednoduchú strie?a?ku s obludami ktoré poletujú po obrazovke. K tomu budeme potrebova? obludy, ?o sú vlastne sprity — tak?e obludu vyrobíme tak, ?e ju odvodíme od spritu, ?o je v príklade u? hotová trieda Sprite. Tie? potrebujeme scénu na ktorej sa to odohráva a tu vyrobíme tak, ?e ju odvodíme od okna, ?o je hotová trieda Okno.

class Obluda : public Sprite //<-- odvodime od spritu
{
public:
 Obluda(Okno* pOkno): Sprite(pOkno)
 {
 }
 ~Obluda()
 {
 }
};

class Scena : public Okno //<-- odvodime od okna
{
public:
 int pridajObludu(Obluda)
 {
 }
};

Program pre jednoduché matematické operácie

upravi?
#include<iostream>    // zahrnutie prudu, ktory umo?ňuje základne
                      // vstupné a vystupné operácie
int main () {
     int a, b;        // deklarácia premennych
     int result;
     a = 7;
     b = 3;
     a = a + 1;
     result = a - b;
     std::cout << result;
     return 0;
}

Tak ako pri jazyku C, aj program v C++ musí obsahova? funkciu main, ktorá vracia celo?íselnú hodnotu.

Tento program po?íta jednoduché matematické operácie a vysledok vypí?e na ?tandardny vystup. Najsk?r sa premennej a priradí hodnota 7, premennej bsa priradí hodnota 3 a potom sa hodnota a zv???í o 1. Premennej result sa priradí hodnota rozdielu premennych a a b. Nakoniec sa vypí?e hodnota premennej result.

Vystup programu: 5

Referencie

upravi?
  1. Bjarne Stroustrup's FAQ - When was C++ invented? [online]. [Cit. 2025-08-06]. Dostupné online.

Pozri aj

upravi?

Iné projekty

upravi?
  •   Commons ponúka multimediálne súbory na tému C++
大便白色是什么原因 什么是前鼻音和后鼻音 胃复安又叫什么名字 为什么会有流星雨 说什么道什么
滑板鞋是什么鞋 自来卷的头发适合什么发型 什么什么不已 眼皮跳挂什么科 tony是什么意思
猴和什么属相相冲 经常吃维生素c有什么好处和坏处 女性下小腹痛挂什么科 10.1是什么星座 投食是什么意思
什么叫匝道 牛腩是什么 梅花表属于什么档次 羊鞭是什么 翠色什么流
min代表什么意思hcv8jop5ns7r.cn 类风湿因子是什么意思hcv7jop4ns7r.cn 1835年属什么生肖hcv8jop6ns6r.cn 房颤吃什么药最好hcv7jop6ns3r.cn 惴惴不安什么意思hcv9jop5ns6r.cn
肠胃炎吃什么消炎药hcv9jop3ns8r.cn 屈打成招是什么意思hcv9jop1ns7r.cn 前置是什么意思hcv8jop5ns1r.cn 什么是伤官配印hcv8jop1ns1r.cn 鸭肉不能和什么一起吃hcv8jop6ns9r.cn
什么家weuuu.com 胃窦炎吃什么药效果最好hcv7jop9ns9r.cn 炉鼎是什么意思hcv8jop4ns6r.cn 妄念是什么意思hcv8jop7ns9r.cn 卯时五行属什么hcv9jop0ns6r.cn
213什么意思hcv8jop2ns6r.cn 屁股上长痘是什么原因hcv8jop4ns5r.cn 后卫是干什么的520myf.com 什么的歌声填词语hcv9jop2ns4r.cn 抽象思维是什么意思hcv9jop6ns7r.cn
百度