![]() | Pobierz cały dokument Projekt 01 Proj6b opis id 82981 Nieznany .pdf Rozmiar 224,8 KB |
Programowanie obiektowe, opracowanie: dr inż. Grzegorz Filo
IIS, M-72
Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
Zakład Grafiki i Modelowania Komputerowego M-72
Laboratorium: Klasy abstrakcyjne i polimorfizm
Programowanie obiektowe Nr. proj.: 06b, 2 x 45 minut
dr inż. Grzegorz Filo
1. Cel laboratorium
Celem ćwiczenia jest zbudowanie aplikacji obliczeniowej przy wykorzystaniu technik
definiowania klas abstrakcyjnych i mechanizmów polimorfizmu. Aplikację należy
zaimplementować w środowisku Turbo C++ 2006.
2. Wymagane oprogramowanie
Zadanie należy wykonać przy wykorzystaniu środowiska programowania
Borland Turbo C++ 2006.
3. Zadanie do wykonania
Temat: Należy zmodyfikować aplikację wykonaną w ramach projektu 6a:
3.1) Zastosować następujący sposób dziedziczenia:
TBryla
TKula
TStozek
TWalec TRura
Abstrakcyjna klasa
TBryla
powinna zawierać:
• składnik
Objetosc
typu
double
w sekcji
protected
;
• czysto wirtualną metodę
double Oblicz()
w sekcji
protected
;
• metodę wirtualną
void PokazDane(TStringGrid*)
w sekcji
public
;
• metodę
void Wypisz(TLabel*)
w sekcji
public
formatującą i wypisującą
w kontrolce
TLabel
wartość objętości bryły.
Ciało metody PokazDane() w klasie
TBryla
:
void TBryla::PokazDane(TStringGrid* G){
G‐>RowCount = 2;
G‐>Cells[0][0]="Nazwa";
G‐>Cells[1][0]="Wartość";
};
3.2) W klasach potomnych należy:
• przedefiniować metody wirtualne z klasy abstrakcyjnej wypisując kolejne parametry
definiowane w klasach pochodnych, np. w klasie TKula:
void TKula::PokazDane(TStringGrid* G){
TBryla::PokazDane(G);
G‐>Cells[0][1]="R";
G‐>Cells[1][1]=FloatToStrF(R,ffFixed,6,2);
};
• zdefiniować funkcje przypisujące wartości zdefiniowanym w każdej klasie
parametrom. Należy zastosować konwencję nazw set-get, np. w klasie
TKula
należy
zdefiniować publiczną funkcję
void setR(double)
;
• z klas potomnych należy usunąć metodę
void Wypisz()
.
![]() | Pobierz cały dokument Projekt 01 Proj6b opis id 82981 Nieznany .pdf Rozmiar 224,8 KB |