OO programiranje - Zadaci

 

Home ]

*      Definirati klasu Racun sa funkcijama za zbroj, razliku, umnožak i kvocijent dva broja. U glavnom programu stvara se instanca klase R1 i nudi mogućnost odabira željene operacije (switch) kako bi se ispisao odgovarajujći rezultat. Korisniku se omogućava da po želji ponavlja unos (petlja). (primjer na vježbama)

(Napraviti vrijantu programa sa klasom bez definiranih varijabli, zatim sa javnim varijablama (public) i na kraju sa privatnim varijablama).

*      Definirati klasu ParNepar sa privatnom varijablom broj i metodama unos (za unos broja) i provjera (za provjeru da li je broj paran ili neparan), te eventualno drugim potrebnim metodama. Definirati konstruktor bez parametara i sa parametrom. U programu se definiraju dvije instance klase ParNepar, jedna inicijalizirana sa konstruktork bez parametara, a druga sa konstruktorom sa parametrima, te se ispisuje rezultat funkcije provjera. Omogućiti korisniku da po želji ponavlja unos.  (obavezno za napraviti za DZ prije nastave koja će se održati 08.11 )

*     U header datoteci kvadar.h deklarirati klasu Kvadar sa cjelobrojnim privatnim varijablama a, b, c te funkcijama za volumen (V=abc) i oplosje (O = 2(ab+ac+cb)) koje su definirane izvan klase. Definirati tri konstruktora (bez parametara, sa jednim parametrom i sa tri parametra) te njima inicijalizirati instance klase Kva1, Kva2, Kva3.  Vrijednost parametara konstruktora unosi korisnik u glavnom programu. Za svaku od instanci ispisuje se vrijednost volumena i oplosja. (opcionalno za napraviti za DZ prije nastave koja će se održati 08.11 )

*     Deklarirati klasu Komplex sa cjelobrojnim privatnim varijablama Im, Re i odgovarajućim konstruktorima, te funkcijama definiranim izvan klase za ispis kompleksnog broja (Re+Im*i; i nije varijabla nego im. jedinica), ispis konjugirano kompleksnog broja (Im dio mijenja predznak) i skalarno množenje (za skalar a: a*Re+a*Im*i). Funkciju skalarno množenje preopteretiti tako da se komponente Re i Im množe sa različitim skalarima. U glavnom programu napraviti instance klase (na stogu - "standardno" i u slobodnoj memoriji- dinamički).  Prema izboru korisnika odabire se odgovarajuća funkcija dinamičke instance. Po želji ponavljati izbor.

*     Deklarirati klasu Matica sa cjelobrojnom privatnom varijablom elmat tipa 2D niz, te članskim funkcijama za unos elemenata matrice, ispis elemenata matrice, gl_dijag za zbroj i ispis elemenata glavne dijagonale, sp_dijag za ispis elemenata sporedne dijagonale u rastucem poretku i preoptrecena fija sp_dijag za ispis elemenata sporedne dijagonale u padajucem poretku, te fije za ispis najveceg i najmanjeg elementa matrice i za mnozenje elemenata skalarom. U glavnom programu napraviti dvije instance klase (jednu na stogu - "standardno" i jednu u slobodnoj memoriji- dinamički), i njihove reference. Izvan klase definirati fiju djel kojoj je jedan parametar instanca klase Matrica i koja ispisuje elemente matrice djeljive sa zadanim brojem, a poziva se po referenci. Prema izboru korisnika odabire se odgovarajuća funkcija dinamičke instance i po želji ponavlja izbor.