16.11.2014 Views

Programowanie obiektowe C++ Informatyka/Automatyka i ...

Programowanie obiektowe C++ Informatyka/Automatyka i ...

Programowanie obiektowe C++ Informatyka/Automatyka i ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

(b) f1=fun(f2,&f2);<br />

(c) f1=fun(f2,&f2,0.0);<br />

(d) i1=fun(i2,&f2);<br />

3. Zdefiniować szablon klas, przechowujący wskaźnik do pewnego obiektu. Wyposażyć go w<br />

metodę show() wyświetlający wartość tego wskaźnika oraz konstruktor rezerwujący dla<br />

niego pamięć. Pokazać przykładowe deklaracje obiektów wykorzystujących ten szablon.<br />

4. Zrealizować na prostych przykładach dziedziczenie:<br />

(a) klasy szablonowej przez zwykłą klasę,<br />

(b) szablonu klas przez zwyklą klasę,<br />

(c) klasy szablonowej przez szablon klas,<br />

(d) szablonu przez inny szablon,<br />

(e) zwykłej klasy przez specjalizowaną klasę szablonową,<br />

(f) klasy szablonowej przez inną klasę szablonową.<br />

5. Stworzyć szablon funkcji fibonacci() umożliwiający wyznaczanie kolejnych elementów ciągu<br />

Fibonacciego dla różnego typu argumentów (np.: long, float etc.).<br />

6. Stworzyć szablon funkcji sortującej tablicę liczb. Dodać możliwość sortowania także tablic<br />

łańcuchów.<br />

7. Opierając się na szablonie klasy z zadania 2 wyposażonej dodatkowo w funkcje liczenia<br />

sumy oraz sumy kwadratów elementów, wyprowadzić dwuwymiarową tablicę liczb dowolnego<br />

typu z przeładowanymi metodami z klasy bazowej. Sprawdzić działanie polimorfizmu<br />

dla tych klas.<br />

8. Zaprojektować szablon klasy przechowującej dane w postaci listy, z metodami dotyczącymi<br />

dodawania oraz usuwania elementu, przeładowanym operatorem [] pozwalającym<br />

na pracę z listą tak jak z tablicą i wyświetlaniem zawartości. Ponadto zrealizować metodę<br />

znajdującą adres ostatniego elementu na liście w taki sposób, by mogła pracować z<br />

dowolnym typem przez nią zwracanym.<br />

8 Wyjątki<br />

1. Stworzyć klasę z odpowiednią funkcją składową, zgłaszającej wyjątk. Utworzyć także klasę<br />

celem wykorzystania jej jako obiektu wyjątku. Ma ona zawierać pojedynczy wskaźnik<br />

char* reprezentujący komunikat opisujący wyjątek. Wyposażyć ją w inicjalizujący konstruktor<br />

domniemany, uzupełniający treść komunikatu. Napisać blok obsługujący wyjątek<br />

poprzez wyprowadzenie na ekran treści komunikatu.<br />

2. Przeanalizować poniższy fragment programu i wyjaśnić jaka będzie wartość zmiennej i w<br />

przypadku, gdy obiekt E, jest typu:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!