1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/c++/info.txt Sun Sep 20 23:08:30 2009 +0200
1.3 @@ -0,0 +1,1 @@
1.4 +Příklady programů psané v jazyce C++ nebo C.
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/c++/ukazatele/barvicky.cpp Sun Sep 20 23:08:30 2009 +0200
2.3 @@ -0,0 +1,29 @@
2.4 +#include <barvicky.h>
2.5 +#include <string>
2.6 +
2.7 +using namespace std;
2.8 +
2.9 +string obarvi (string text, int barva) {
2.10 + string zacatek;
2.11 + string konec;
2.12 +
2.13 + switch (barva) {
2.14 + case BARVA_ZELENA :
2.15 + zacatek = string("\033[22;32m");
2.16 + konec = string("\033[0m");
2.17 + break;
2.18 + case BARVA_CERVENA :
2.19 + zacatek = string("\033[22;31m");
2.20 + konec = string("\033[0m");
2.21 + break;
2.22 + dafault:
2.23 + zacatek = ("");
2.24 + konec = ("");
2.25 + }
2.26 +
2.27 + return zacatek + text + konec;
2.28 +}
2.29 +
2.30 +string obarvi (const char * text, int barva) {
2.31 + return obarvi(string(text), barva);
2.32 +}
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/c++/ukazatele/barvicky.h Sun Sep 20 23:08:30 2009 +0200
3.3 @@ -0,0 +1,10 @@
3.4 +#include <string>
3.5 +
3.6 +using namespace std;
3.7 +
3.8 +const int BARVA_CERVENA = 1;
3.9 +const int BARVA_ZELENA = 2;
3.10 +
3.11 +string obarvi (string text, int barva);
3.12 +string obarvi (const char * text, int barva);
3.13 +
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/c++/ukazatele/ukazatele.cpp Sun Sep 20 23:08:30 2009 +0200
4.3 @@ -0,0 +1,45 @@
4.4 +#include <iostream>
4.5 +#include <string>
4.6 +#include <ukazatele.h>
4.7 +#include <barvicky.h>
4.8 +
4.9 +using namespace std;
4.10 +
4.11 +int main () {
4.12 + cout << obarvi("*** Ukazatele ***", BARVA_ZELENA) << endl << endl;
4.13 + upravPromennou();
4.14 +}
4.15 +
4.16 +void upravPromennou() {
4.17 + int x;
4.18 +
4.19 + x= 100;
4.20 + upravSpatne(x);
4.21 + cout << obarvi("špatný výsledek: ", BARVA_ZELENA) << x << endl;
4.22 +
4.23 + x = 100;
4.24 + upravDobre(&x);
4.25 + cout << obarvi("dobrý výsledek: ", BARVA_ZELENA) << x << endl;
4.26 +
4.27 +
4.28 + /** Nefunguje → error: invalid conversion from ‘int’ to ‘int*’ */
4.29 + //x = 100;
4.30 + //upravDobre(x);
4.31 + //cout << obarvi("dobrý výsledek: ", BARVA_ZELENA) << x << endl;
4.32 +
4.33 + /** Nefunguje → error: invalid conversion from ‘int*’ to ‘int’ */
4.34 + //x= 100;
4.35 + //upravSpatne(&x);
4.36 + //cout << obarvi("špatný výsledek: ", BARVA_ZELENA) << x << endl;
4.37 +}
4.38 +
4.39 +/** Upravujeme pouze kopii hodnoty n – úprava platí jen v rámci této funkce */
4.40 +void upravSpatne(int n) {
4.41 + n = 123;
4.42 +}
4.43 +
4.44 +/** Upravíme hodnotu v paměti, do které ukazuje *n – úprava platí globálně */
4.45 +void upravDobre(int *n) {
4.46 + *n = 123;
4.47 +}
4.48 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/c++/ukazatele/ukazatele.h Sun Sep 20 23:08:30 2009 +0200
5.3 @@ -0,0 +1,4 @@
5.4 +void upravPromennou();
5.5 +void upravSpatne(int n);
5.6 +void upravDobre(int *n);
5.7 +