Molim vas da mi provjerite da li je ovo rješenje ovog zadatka dobro i da li se moze bolje riješiti. Zadatak glasi:
Dizajnirajte i realizirajte klase koje opisuju građu u videoteci.
A moje rješenje je ovo:
#include <iostream>
using namespace std;
enum Zanr { horror, drama, komedija, crtic, triler, akcijski, psiholoski, mjuzikl, dokumentarac };
class Clan {
private:
static float Id_broj;
float tel;
char *ime, *adresa;
public:
Clan() : tel(0), ime(new char[30]), adresa(new char[50]) {
};
Clan(char *i, char *a, float t) {
tel = t;
ime = i;
adresa = a;
Id_broj = Id_broj + 1;
};
float DajId_broj() { return Id_broj; }
float DajTel() { return tel; }
char *DajIme() { return ime; }
char *DajAdresu() { return adresa; }
void PostaviTel(float t) { tel = t; }
void PostaviAdr(char *a) { adresa = a; }
~Clan() {
delete [] ime;
delete [] adresa;
}
};
class Film : public Clan {
private:
Clan posudio;
bool pos;
static float Id;
Zanr vrsta;
int god_proizv;
char *naziv, *zemlja;
public:
Film(Zanr v, int g, char *n, char *z) {
Clan c();
pos = false;
vrsta = v;
god_proizv = g;
naziv = n;
zemlja = z;
Id = Id + 1;
}
void Posudba(Clan c) {
pos = true;
posudio = c;
}
Clan DajClana() { return posudio; }
bool Posudena() { return pos; }
Zanr DajZanr() { return vrsta; }
char *DajNaziv() { return naziv; }
char *DajZemlju() { return zemlja; }
float DajId() { return Id; }
int DajGod() { return god_proizv; }
~Film() {
delete [] naziv;
delete [] zemlja;
}
};
Bila bih vam vrlo zahvalna kad bi me uputili na neke nedostatke u ovom kodu iako kompajler ne javlja nikakvu grešku.Hvala!