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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Każda z klas powinna posiadać funkcje wirtualne rysuj(), przesun() oraz obrot().<br />

Dokonać wirtualnego wywołania tych funkcji dla różnego typu obiektów.<br />

6. Napisać klasę zawierającą dwie metody wykonujące to samo zadanie, jedną w wersji<br />

wirtualnej, a drugą niewirtualnej. Dodać nową klasę dziedziczącą ze wspomnianej klasy,<br />

a następnie porównać czasy wywołania każdej z funkcji (posłużyć się np. funkcją clock()<br />

— plik nagłówkowy time.h).<br />

7. Napisać krótki program obrazujący róźnicę pomiędzy wywołaniem funkcji wirtualnej wewnątrz<br />

normalnej funkcji składowej klasy, a wywołaniem funkcji wirtualnej wewnątrz<br />

konstruktora. Program powinien pokazać, że takie dwa wywołania generują róźne wyniki.<br />

8. Dane są klasy bazowe rezystor, kondensator i cewka. Wyprowadzić z nich klasy pochodne:<br />

cewka rzeczywista i kondensator rzeczywisty, a z nich z kolei układ RLC. Mając do dyspozycji<br />

tak przygotowany zestaw elementów prostych, zdefiniować układ_rez zawierający<br />

dynamiczną tablicę wskaźników do takich obiektów. Wyznaczyć charakterystykę rezonansową<br />

w zadanym przedziale częstotliwości dla szeregowego i równoległego połączenia<br />

elementów.<br />

6 Formatowanie strumieni<br />

1. Dana jest następująca definicja klasy:<br />

class X { int a[2]; };<br />

Przeładować operatory aby możliwe się stało wczytywanie i wysyłanie do standardowego<br />

strumienia obiektów klasy X.<br />

2. Napisać manipulatory dla klasy iostream:<br />

(a) bezargumentowy mający za zadanie dorzucenie przed wyświetlaną zmienną napisu<br />

„zmienna :”,<br />

(b) jednoargumentowy lin(n), który ma za zadanie przejść n razy do nowej linii.<br />

3. Otworzyć strumień wejściowy dla pliku i przepisać go do strumienia wyjściowego skojarzonego<br />

z innym plikiem.<br />

4. Dla przykładowych strumieni:<br />

ifstream in; ofstream out;<br />

(a) powiązać strumień wejściowy z wyjściowym, tak aby każda zmiana w strumieniu<br />

wejściowym odzwierciedlona była w strumieniu wyjściowym,<br />

(b) zlikwidować wiżzanie pomiędzy standardowymi strumieniami wejściowym i wyjściowym,<br />

(c) przemianować standardowe strumienie wejścia i wyjścia tak, aby dane z cin płynęły<br />

do out, a dane z in płynęły do cout.

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

Saved successfully!

Ooh no, something went wrong!