Repetytorium.pdf
(
136 KB
)
Pobierz
Microsoft PowerPoint - Repetytorium
Własne przestrzenie nazw
}
Przestrzeń nazw
słowa kluczowego
namespace
,
#include <iostream>
ograniczając zawartość
namespace
HelloWorld
{
klamrami.
}
Najczęściej uŜywaną
void
hello
()
{
jest standardowa
std
::
cout
<<
"Hello World!"
<<
std
::
endl
;
przestrzeń nazw
std
}
MoŜna na przykład
}
}
stworzyć przestrzeń
nazw
HelloWorld
int
main
()
{
zawierającą funkcję
hello()
:
HelloWorld
::
hello
( )
;
return
0
;
}
tworzymy za pomocą
Standardowa przestrzeń nazw
}
Zobaczmy przykład:
#include <iostream>
int
main
( )
{
}
std
::
cout
<<
"Podaj dwie liczby a i b"
<<
std
::
endl
;
int
a, b
;
// wypisujemy "a:" na wyjście i czekamy na a
std
::
cout
<<
"a:"
;
std
::
cin
>>
a
;
// wypisujemy "b:" na wyjście i czekamy na b
std
::
cout
<<
"b:"
;
std
::
cin
>>
b
;
// wypisujemy sumę tych dwóch liczb
s
td
::
cout
<<
"a+b="
<<
a
+
b
<<
std
::
endl
;
return
0
;
Standardowa przestrzeń nazw
}
Nasz przykład z instrukcją using:
#include <iostream>
#include <string>
using namespace
std
;
int
main
( )
{
string
imie, email, informacja;
// wczytujemy imię
cout
<<
"Podaj swoje imie: "
;
cin
>>
imie
;
// wczytujemy email
cout
<<
"Podaj swój email: "
;
cin
>>
email
;
informacja
=
imie
+
" ("
+
email
+
" )"
;
// suma napisów
cout
<<
"Witaj "
<<
informacja
<<
endl
;
informacja
+
=
" czyta ten napis"
;
cout
<<
informacja
<<
endl
;
return
0
;
}
Operator
static_cast
}
Przykład poprawnego uŜycia
#include <iostream>
int
main
() {
int
liczba
=
5, liczba2
=
2
;
std
::
cout
<<
"5/2 int(bez rzutowania): "
<<
lic
zba
/
liczba2
<<
std
::
endl
;
std
::
cout
<<
"5/2 float(static_cast): "
<<
static_cast
<
float>
(liczba)
/static_cast<float>
(liczba2)
<< std::
endl;
return
0
;
}
#include <iostream>
int
main
() {
std
::
string
str
=
"ciąg"
;
std
::
cout
<<
"string --> char: "
<<
static_cast
<
char
>
(
str
)
<<
std
::endl
;
return
0;
}
}
Przykład niepoprawnego uŜycia – string zrzutowany na
niekompatybilny typ char
Operator reinterpret_cast
}
Operator ten słuŜy do
zmiany
typu
wskaźników
.
}
Potrzebny jest w sytuacji gdy
nie moŜe
zajść konwersja
niejawna
}
Jego działanie jest
identyczne
jak dla starego typu rzutowania
}
Wprowadzony został po to, aby rzutowanie mogło być łatwo
odnalezione
w tekście
int
*wsk_int1, *wsk_int2;
double
*wsk_double;
wsk_int1 = wsk_int2;
// bezproblemowo
// wsk_int1 = wsk_double; // błąd
wsk_double =
reinterpret_cast
<
double
*>(wsk_int1);
//nowy styl
wsk_double = (
double
*)wsk_int1;
//stary styl
Plik z chomika:
pachulskim
Inne pliki z tego folderu:
Repetytorium.pdf
(136 KB)
Egzamin-PO.pdf
(3402 KB)
CPP_Liczby_zespolone_i_obwod_trojkata.pdf
(67 KB)
Inne foldery tego chomika:
Algorytmy i struktury danych
Angielski
Elektrotechnika
Inżynieria Oprogramowania
Matma
Zgłoś jeśli
naruszono regulamin