Programowanie obiektowe C++ Informatyka/Automatyka i ...
Programowanie obiektowe C++ Informatyka/Automatyka i ...
Programowanie obiektowe C++ Informatyka/Automatyka i ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5. Otworzyć plik poprzez utworzenie obiektu typu ifstream o nazwie in. Następnie utworzyć<br />
obiekt os typu ostrstream i przekopiować do niego całą zawartość otwartego pliku (użyć<br />
metodę rdbuf). Zamienić wszystkie litery w os na duże i zachować wynik w nowym pliku,<br />
po czym zwolniæ pamięć zajętą przez ten strumieñ.<br />
6. Napisać program, który dopisze na początku i na końcu wszystkich plików żródłowych z<br />
rozszerzeniem *.h komentarz dotyczący praw autorskich.<br />
7. Otworzyć plik o nazwie podanej jako argument programu. Następnie wyświetlić wszystkie<br />
jego linie zawierające jedno ze słów podanych jako następne argumenty wraz z numerami<br />
wierszy odpowiadającymi im w pliku.<br />
8. Dodać nowe manipulatory dla standardowego strumienia wyjściowego:<br />
(a) bin(x) wyświetlający liczbę całkowitą x w systemie binarnym,<br />
(b) bin2(x) wyświetlający liczbę zmiennoprzecinkową x w systemie binarnym,<br />
(c) convert(x, n) wyświetlający liczbę całkowitą x w systemie o podstawie n,<br />
(d) convert2(x, n) wyświetlający dziesiętnie liczbę całkowitą x podaną w systemie o<br />
podstawie n.<br />
9. W oparciu o strumienie napisać program, który podzieli plik o dużych rozmiarach na<br />
zestaw mniejszych plików. Następnie opracować program, odwracający ten proces tzn.<br />
skleić z powrotem pliki w jeden wynikowy.<br />
7 Szablony<br />
1. Opracować szablon funkcji do wyznaczania iloczynu dwóch argumentów:<br />
(a) zrealizować funkcję szablonową w wersji normalnej i operatorowej,<br />
(b) dodać funkcję wyspecjalizowaną dla tablic jednowymiarowych reprezentujących wektory<br />
(np.: 3,4,5,... elementowe),<br />
(c) wprowadzić domniemany parametr szablonu określający rozmiar tablicy.<br />
2. Przeanalizować poniższe deklaracje:<br />
int i1;<br />
const int i2;<br />
float f1,f2;<br />
template int fun(T, T*);<br />
template U fun (T, T*,U);<br />
int fun(int, int*);<br />
int fun(double, double*,double=0.0);<br />
Rozstrzygnąć, która z funkcji zostanie wywołana, gdy w programie pojawia się polecenie:<br />
(a) i1=fun(i2,&i1);