background image

P

ROGRAMOWANIE 

O

BIEKTOWE 

 

L

ABORATORIUM 

 

Ć

WICZENIE 

4

 

-

 

D

ZIEDZICZENIE KLAS

 

 

Celem ćwiczenia jest zapoznanie się z trzecim filarem programowania obiektowego, którym jest 
dziedziczenie. Na zajęciach należy wykonać następujące zadania: 

1. 

Należy stworzyć klasę podstawowego bankomatu: 

a. 

Bankomat  podstawowy  może  tylko  wypłacać  gotówkę  (metoda  wirtualna  z 
jednym parametrem zawierającym kwotę) i weryfikować pin, 

b. 

Powinien  tylko  znać  aktualny  stan  konta  oraz  informację,  czy  bankomat  jest 
zablokowany (pola chronione), 

c. 

Pieniądze mogą być wypłacone tylko po poprawnym wprowadzeniu PIN’u, 

d. 

Po  wypłaceniu  gotówki  należy  zaktualizować  stan  konta,  natomiast  bankomat 
musi zostać na nowo zablokowany, 

e. 

Z  bankomatu  podstawowego  nie  można  wypłacić  więcej  niż  1000  zł  (należy 
wykorzysta

ć pole chronione, które jest inicjalizowane w konstruktorze). 

 

2. 

Należy  stworzyć  klasę  normalnego  bankomatu,  który  dziedziczy  po  bankomacie 
podstawowym, który: 

a. 

Posiada możliwość wyświetlenia stanu konta, 

b. 

Ma zwiększony limit wypłacania do 10000 zł (należy wykorzystać pole chronione, 
które jest inicjalizowane w konstruktorze). 
 

3. 

Następnie  należy  stworzyć  klasę  wpłatomatu,  który  dziedziczy  po  normalnym 
bankomacie i posiada również opcję wpłacenia pieniędzy. 
 

4. 

Ostatnim  bankomatem,  jaki  należy  zaimplementować  będzie  super  bankomat  RFID, 
który posiada możliwość ekspresowego wypłacenia kwoty 50 zł metodą zbliżeniową, bez 
potrzeby wprowadzania pinu. Wypłacanie należy zaimplementować w osobnej metodzie, 
która nie przyjmuje żadnych parametrów. 
 

5. 

Każdy  bankomat  musi  posiadać  metodę  ServiceInfo,  która  zwraca  wszystkie  możliwe 
informacje o serwisowanym bankomacie (należy użyć metod wirtualnych). 
 

6. 

Należy  napisać  program  który  przetestuje  działanie  każdego  z  bankomatów  osobno,  a 
następnie utworzy listę wszystkich bankomatów i wyświetli ich informacje serwisowe. 
 

Wskazówki: 

1. 

Konieczne jest zapoznanie się z mechanizmami dziedziczenia w języku c++. 

2. 

Należy  zapoznać  się  z  przykładowym  programem  wykorzystującym  dziedziczenie 
(kod 4.1). 

background image

Uwagi: 

 

W metodach klas nie wolno używać funkcji typu : printf, scanf, std::cout, std::cin. 
Warstwa prezentacji musi zostać zaimplementowana w pętli głównej (poza klasą), 

 

W plikach nagłówkowych (*.h) nie wolno zawierać źródła/rozwinięcia funkcji i metod 
klasowych (dotyczy to także konstruktorów i destruktora), 

 

Powyższe uwagi obowiązują na wszystkich laboratoriach.