lista3.pdf

(65 KB) Pobierz
106421453 UNPDF
UniwersytetZielonog ó rski
InstytutSterowaniaiSystem ó wInformatycznych
ProgramowanieobiektowewC++
Lista3 Wstƒpdoklas
1 wiczenia
1.Zde niowanonastƒpuj¡cyzal¡»ekklasy,reprezentuj¡cypunkt2D:
classPunkt2D{
private:
floatx,y;
public:
charsymbol;
...
};
Zadeklarowa¢orazzde niowa¢:
funkcjƒsk“adow¡,kt ó rawy–wietlisymbolpunktuorazjegowsp ó “rzƒdnenaekranie(funkcjamamie¢cha-
rakterinline),
funkcjƒsk“adow¡inicjuj¡c¡wsp ó “rzƒdnewarto–ciamilosowymi,
konstruktorinicjuj¡cy,
funkcjƒsk“adow¡,kt ó raznajdziewsp ó “rzƒdneodbiciasymetrycznegopunktuwzglƒdem–rodkasymetrii,
kt ó ryjestdanyjakoargumentfunkcjiiwy–wietlijenaekranie,
funkcjƒsk“adow¡,kt ó radodawsp ó “rzƒdnedw ó chpunkt ó wizwr ó cijejakopunktwynikowy.
Zde niowa¢obiektyipoda¢przyk“adowewywo“aniametod.Jakabƒdzier ó »nicaje–litypobiektuzadeklarowany
zostaniejakostruktura,anieklasa?
2.Zaprojektowa¢klasƒpunktNdbƒd¡c¡uog ó lnieniemklasyz¢wiczenia1napunkty n -wymiarowe(wsp ó “rzƒdne
przechowywanepowinnyby¢wdynamicznierezerwowanejtablicy).Zadeklarowa¢orazzde niowa¢:
(a)konstruktorinicjuj¡cy,
(b)uzupe“ni¢de nicjƒklasyosk“adnikstatyczny,kt ó rymazazadanieprzechowywa¢liczbƒistniej¡cychobiek-
t ó wklasy,anastƒpniedokona¢jegoinicjalizacju,
(c)funkcjƒsk“adow¡onazwiedodaj,realizuj¡c¡dodawaniedw ó chpunkt ó w,
(d)funkcjƒglobaln¡onazwiedodaj,realizuj¡c¡dodawaniedw ó chpunkt ó w,
(e)destruktoruwzglƒdniaj¡cyzwalnianiedynamicznieprzydzielonejpamiƒci.
3.Zadeklarowa¢uniƒmog¡c¡przechowywa¢elementytypu oat,intichar,anastƒpnie:
(a)napisa¢kr ó tkiprogram,wkt ó rymnale»yzainicjalizowa¢uniƒorazzrealizowa¢operacjeprzypisaniajej
warto–cir ó »nychtyp ó w,
(b)napisa¢funkcjƒsk“adow¡wy–wietlaj¡c¡zawarto–¢struktury,
(c)rozbudowa¢uniƒopolebitowewwielko–ci2bit ó wizrealizowa¢przypisaniewarto–ciinicjalizuj¡cej,
(d)zadeklarowa¢uniƒjakoanonimow¡,orazzrealizowa¢operacjezpunktu(a).
4.Danes¡nastƒpuj¡cede nicje:
classX{
inti;
floatj;
public:
intfun(inti,floatj){returni;};
}
intfun(inti,floatj){returni;};
XA;inti;floatj;
106421453.001.png
Oceniƒpoprawno–¢poni»szychinstrukcji:
intfun(inti,intj){returni;};
intfun(inti,floatj){returni;};
intfun(floatj,inti){returni;};
voidfun(inti,floatj){};
intfun(inti,floatj);
intfun(inti,floatj,floatk=0){returni;};
A.fun(i,j)h)A.X::fun(i,j);
::fun(i,j);
5.(Wa»ne!)Skonstruowa¢klasƒwektordoprzechowywaniawsp ó “rzƒdnychtr ó jwymiarowychpunktuprzestrzenne-
go,anastƒpnienapisa¢funkcjesk“adowerealizuj¡cepodstawowedzia“anianawektorach(suma,r ó »nica,iloczyn
skalarny,iloczynwektorowy).Ponadtowyposa»y¢klasƒwfunkcjes“u»¡cedopobieraniawektorazklawiatury,
generowanialosowegowsp ó “rzƒdnychorazwy–wietlaniawarto–cinaekranie.
6.(Przydatne!)Danajestklasaonastƒpuj¡cymszkielecie:
classstring{
chart[256];
public:
//...definicjekonstruktor ó w
//...pozosta“aczƒ–¢interfejsu
};
Zak“adasiƒ,»eelementzerowy“a«cuchaprzeznaczonyjestnaprzechowaniejegod“ugo–ci.Zadeklarowa¢izde -
niowa¢:
de nicjƒkonstruktorastandardowegoidomniemanego,
funkcjeinterfejsu:zwracaj¡c¡d“ugo–¢“a«cucha,wycinaj¡c¡jegowybranyfragmentisk“adajac¡dwa“an-
cuchywjeden.
7.Rozwa»y¢nastƒpuj¡cede nicje:
classnr_tel{
charnr_tel[20];
charnazwisko[20];
charimie[12];...
};
classksiazka_tel{
staticintlicznik;
nr_telnumery[50];...
};
Doda¢niezbƒdnefunkcjedotycz¡ceobs“ugiksi¡»kitelefonicznej(dodawanienowychiusuwanieistniej¡cych
numer ó w,wyszukiwanieponazwisku).Jakr ó wnie»klasapowinnaposiada¢sk“adnikstatyczny,kt ó regozadaniem
bƒdziesprawdzaniawolnegomiejscawksi¡»ce.
8.Dlanastƒpuj¡cychstruktur:
unionelement{chara;intb;floatc;};
classzbior{element*wsk_liczba;...};
rozbudowa¢klasƒzbi ó rometodywykonuj¡cepodstawoweoperacjenazbiorach( [ , \ , \ , 2 )kt ó rychelementami
mog¡by¢zmienneznakowe,ca“kowitelubrzeczywiste.
9.(Zadaniezgwiazdk¡!)Napisa¢de nicjƒklasy"krzywa"zawieraj¡c¡dynamiczn¡tablicƒpunkt ó w(zastosowa¢
klasƒpunktz¢wiczenia1)nap“aszczy„nie,kt ó retworz¡krzyw¡“aman¡.Klasamaposiada¢metodydotycz¡ce
generowaniakrzywychlosowo,wy–wietlaniawtrybiegra cznym,realizacjƒskalowaniaoraztranslacjiozadany
wektor,dodawaniaiusuwaniapunkt ó wkrzywej.
10.Opracowa¢klasƒ Liczba ,kt ó rabƒdzieprzechowywa¢liczbƒca“kowit¡,klasabƒdzietak»ezawiera¢informacjƒ,o
dziedzinieliczby.Klasa Liczba powinnaposiada¢metodydorealizacjipodstawowychoperacjiarytmetycznych.
Zgłoś jeśli naruszono regulamin