Pobierz cały dokument
Projekt 01 Proj6b opis id 82981 Nieznany .pdf
Rozmiar 224,8 KB

Projekt 01 Proj6b opis id 82981 Nieznany

background image

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
Wyszukiwarka

Podobne podstrony:
Projekt 02 Proj7 opis id 829818 Nieznany
9 01 2014 Nahotko Opis id 48150 Nieznany (2)
5 12 2013 Nahotko Opis id 39936 Nieznany (2)
IS wyklad 14 15 01 09 MDW id 22 Nieznany
projekt sr tr 2014 id 398557 Nieznany
28 01 2014 Lechowski id 31904 Nieznany (2)
59 01 032 036 id 41760 Nieznany (2)
projekty gry planszowe FD id 40 Nieznany
Pr konst opis id 382146 Nieznany
ei 2005 01 02 s080 id 154144 Nieznany
3 01 norm a4 id 33367 Nieznany (2)
biochemia pyt opis id 86492 Nieznany
Lab1 Csharp opis id 258954 Nieznany
Projekt SNAKE Snake Game id 831 Nieznany
zulz 01 2010 2011 id 593227 Nieznany
28 11 2013 Nahotko Opis id 3191 Nieznany (2)
projekt rakow gotowy rk id 3994 Nieznany
LM SZ 01 2013 mat id 271607 Nieznany
opis 4 id 336794 Nieznany

więcej podobnych podstron
Kontakt | Polityka prywatności