C++
Z Wikipedie, otevřené encyklopedie
C++ je objektově orientovaný programovací jazyk, který vyvinul Bjarne Stroustrup a další v Bellových laboratořích AT&T rozšířením jazyka C. C++ podporuje několik programovacích stylů (paradigmat) jako je procedurální programování, objektově orientované programování a generické programování, není tedy jazykem čistě objektovým. V současné době patří C++ mezi nejrozšířenější programovací jazyky.
Obsah |
[editovat] Historie
[editovat] Název C++
Starší verze jazyka, společně označované jako „C with Classes“ (česky C s třídami), byly používány od roku 1980. Jméno „C++“ vymyslel Rick Mascitti v létě 1983. Toto jméno zdůrazňuje evoluční povahu změn oproti jazyku C; "++" je operátor inkrementu v C. Poněkud kratší jméno „C+“ je syntaktická chyba, bylo též použito jako jméno jiného nesouvisejícího jazyka.
[editovat] Kompatibilita s jazykem C
Jazyk C je až na několik jasně definovaných výjimek podmnožinou C++. Jak uvádí Bjarne Stroustrup, všechny programy uvedené ve slavné učebnici jazyka C The C Programming Language od Briana W. Kernighana a Dennise M. Ritchieho jsou zároveň programy v C++.
První překladače C++ byly preprocesory, které překládaly z C++ do čistého C. Považovat jazyk C++ za pouhé rozšíření jazyka C by ale bylo chybou, protože není s jazykem C zcela kompatibilní. Některé programy v jazyce C nelze překládat překladači pro C++.
[editovat] „Hello, World!“
Následující jednoduchá aplikace vypíše „Hello, world!“ na standardní výstup.
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; }
[editovat] Argumenty funkce main
Tato aplikace vypíše všechny argumenty funkce main.
#include <iostream> using namespace std; int main(int argc, char *argv[]) { for(int i = 0; i < argc; ++i) { cout << i + 1 << ": " << argv[i] << endl; } }
[editovat] Vlastnosti jazyka a rozdíly proti jazyku C
[editovat] Objekty
Koncepce objektů jazyka C++ byla převzata z jazyka Simula 67. Objekty (třídy) jsou pojaty jako přirozené rozšíření datových struktur jazyka C o možnost vkládání členských funkcí. C++ umožňuje řídit viditelnost složek objektů pro ostatní části programu. Pro objekty je možná vícenásobná dědičnost.
Příklad definice třídy:
class Komplex { double x; // datové složky objektu double y; // datové složky objektu public: // následující části objektu budou viditelné i mimo objekt Komplex(); // konstruktor - funkce volaná automaticky při vytvoření objektu ~Komplex(); // destruktor - funkce volaná automaticky při rušení objektu double r() const { return sqr(x*x+y*y) }; // funkce třídy }; void f() { // deklarace dvou objektů dané třídy: Komplex A; Komplex B; // následují další příkazy… }
[editovat] Přetěžování funkcí a operátorů
Jazyk C++ umožňuje deklarovat více funkcí se stejným názvem. Kompilátor určí správné použití podle počtu a typu parametrů. Tato technika se nazývá přetěžování funkcí. Velmi silnou vlastností jazyka je i možnost přetěžovat standardní operátory (například '+' nebo '=') a tak přirozeně využívat tyto operátory pro nově vytvářené třídy a tvorbu abstraktních datových typů.
[editovat] Literatura
- The C++ Programming Language: Bjarne Stroustrup, special ed., Addison-Weslye, ISBN 0-201-70073-5, 2000
- The C++ Standard, Incorporating Technical Corrigendum 1, BS ISO/IEC 14882:2003 (2nd ed.), John Wiley & Sons, ISBN 0-470-84674-7
- Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, Second Edition, Prentice-Hall, ISBN 0-13-110370-9 1988
- Programování v C++: Miroslav Virius, Vydavatelství ČVUT, druhé vydání, ISBN 80-01-02978-6 2004
- Naučte se C++ za 21 dní: Jesse Liberty, Computer Press, ISBN 80-7226-774-4, 2002
- Programovací jazyk C++ pro zelenáče: Petr Šaloun, Neokortex s.r.o., ISBN 80-8633-018-4, 2005
- Rozumíme C++: Andrew Koenig, Barbara E. Moo, Computer Press, ISBN 80-7226-656-X, 2003
[editovat] Externí odkazy
- http://www.research.att.com/~bs/ - domovská stránka Bjarne Stroustrupa; mimo jiné uvádí historii C++, odpovědi na často kladené otázky a podrobný glosář. Jde o základní zdroj informací a odkazů věnovaných C++.
- www.builder.cz – Informační server o programování
- www.programujte.com - další web věnovaný programování (kurz C++)
[editovat] Vývojové nástroje:
- gcc (GNU Compiler Collection) - multiplatformní překladač pro jazyky C, C++, Java a další (svobodný software) - viz GCC
- Anjuta - vývojové prostředí pro operační systém GNU/Linux napsané v GTK+ (GNOME) (svobodný software) - viz Anjuta
- Bloodshed Dev-C++ - vývojové prostředí pro Windows (svobodný software) - viz Dev-C++
- Borland C++Builder - vizuální vývojové prostředí pro platformu Windows i Linux (přenositelnost zdrojového kódu) - viz C++Builder)
- MS Visual C++ - vývojové prostředí společnosti Microsoft - viz Visual C++
Tento článek týkající se softwaru je pahýl. Můžete pomoci Wikipedii tím, že jej vhodně rozšíříte. |
Programovací jazyky | |||
ABAP | Ada | AWK | Assembler | C | C++ | C# | COBOL | ColdFusion | Clean | D | Delphi | Eiffel | Erlang | Flex | Fortran | JADE | Java | JavaScript | Lisp | Lua | Oberon | Objective-C | Pascal | Perl | PHP | Python | REALbasic | REBOL | RPG | Ruby | SQL / PL/SQL | Tcl / Tcl/Tk | Visual Basic / VBScript | VB.NET | Visual FoxPro
|