lista6.pdf
(
78 KB
)
Pobierz
106421499 UNPDF
UniwersytetZielonog
ó
rski
InstytutSterowaniaiSystem
ó
wInformatycznych
ProgramowanieobiektowewC++
Lista6
Polimor
zmorazfunkcjewirtualne
1
‚
wiczenia
1.Dlaschematudziedziczenia
A
!
B
!
C
:
4.W¢wiczeniu(1)zastanowi¢siƒjakzrealizowa¢za-
daniekonstruktorawirtualnego.
(a)zde
niowa¢klasyprzyza“o»eniu,»eklasa
A
ma
by¢klasƒabstrakcyjn¡,
(b)wyposa»y¢wszystkieklasywwirtualn¡metodƒ
nazwazwracaj¡c¡nazwƒklasy,
(c)doda¢destruktorywirtualne,
(d)doda¢funkcjƒglobaln¡zaprzyja„nion¡zklas¡
A,takabymog“awykona¢tosamocofunkcje
zpodpunktu(b).
5.Zrealizowa¢poni»szyschematdziedziczenia(popra-
wi¢tak»erelacjƒpomiƒdzyklasami):
2.Napisa¢de
nicjƒklasyztrzemaprze“adowanymi
funkcjamiwirtualnymi.Stworzy¢now¡klasƒdzie-
dzicz¡capopierwszej,ztylkojedn¡prze“adowan¡
funkcj¡wirtualn¡.Utworzy¢obiektklasypochodnej
iodpowiedzie¢nanastƒpuj¡cepytania:
Ka»dazklaspowinnaposiada¢funkcjewirtualne
rysuj(),przesun()orazobrot().Dokona¢wir-
tualnegowywo“aniatychfunkcjidlar
ó
»negotypu
obiekt
ó
w.
(a)Czymo»nawywo“a¢wszystkietrzybazowe
funkcjepoprzezobiektklasypochodnejiewen-
tualniewjakispos
ó
b?
(b)Czypozrzutowaniuadresuklasypochodnejna
adresklasybazowejmo»nawywo“a¢wszystkie
funkcje?
(c)Czypousuniƒciude
nicjifunkcjiwklasiepo-
chodnejmo»nawykona¢podpunkt(a)?
6.Napisa¢klasƒzawieraj¡c¡dwiemetodywykonuj¡ce
tosamozadanie,jedn¡wwersjiwirtualnej,adru-
g¡niewirtualnej.Doda¢now¡klasƒdziedzicz¡c¡z
wspomnianejklasy,anastƒpniepor
ó
wna¢czasywy-
wo“aniaka»dejzfunkcji(pos“u»y¢siƒnp.funkcj¡
clock()
pliknag“
ó
wkowytime.h).
3.Poprawi¢b“ƒdyprogramie,anastƒpnieprzeanalizo-
wa¢jegodzia“anie.
7.Napisa¢kr
ó
tkiprogramobrazuj¡cyr
ó
»nicƒpomiƒ-
dzywywo“aniemfunkcjiwirtualnejwewn¡trznor-
malnejfunkcjisk“adowejklasy,awywo“aniemfunk-
cjiwirtualnejwewn¡trzkonstruktora.Programpo-
winienpokaza¢,»etakiedwawywo“aniageneruj¡
r
ó
»newyniki.
#include<iostream> |
|voidmain(){
usingnamespacestd; | Xob1;Yob2;Zob3;
| ob2.fun1;ob2.fun2;
classX{ |
public: | X*wsk=&ob2;
staticintx1; | wsk>fun1();wsk>fun2();
voidvirtualfun1() | wsk>X::fun1();wsk>X::fun2();
{cout<<"funkcjafun1zklasyX";} |
staticvoidvirtualfun2()=0; | wsk=&ob3;
}; | wsk>fun1();wsk>fun2();
| wsk>X::fun1();wsk>Z::fun2();
classY:publicX{ |}
public: |
voidvirtualfun1() |
{cout<<"funkcjafun1zklasyY";} |
voidfun2() |
{cout<<"funkcjafun2zklasyY";} |
}; |
|
classZ:publicY{ |
public: |
voidvirtualfun1() |
{cout<<"funkcjafun1zklasyZ";} |
voidvirtualfun2()=0 |
{cout<<"funkcjafun2zklasyZ";} |
8.Danes¡klasybazowerezystor,kondensatoricew-
ka.Wyprowadzi¢znichklasypochodne:cewkarze-
czywistaikondensatorrzeczywisty,aznichzkolei
uk“adRLC.Maj¡cdodyspozycjitakprzygotowany
zestawelement
ó
wprostych,zde
niowa¢uk“ad_rez
zawieraj¡cydynamiczn¡tablicƒwska„nik
ó
wdota-
kichobiekt
ó
w.Wyznaczy¢charakterystykƒrezonan-
sow¡wzadanymprzedzialeczƒstotliwo–cidlaszere-
gowegoir
ó
wnoleg“egopo“¡czeniaelement
ó
w.
};
|
Plik z chomika:
elaroma
Inne pliki z tego folderu:
lista1.pdf
(66 KB)
lista2.pdf
(56 KB)
lista3.pdf
(65 KB)
lista4.pdf
(57 KB)
lista5.pdf
(104 KB)
Inne foldery tego chomika:
Zgłoś jeśli
naruszono regulamin