Evo sto sam napravio.
Nije mi jasno zasto se izvodis iz klase Clan i jos imas u klasi Film private member Clan. Nesto nije dobro postavljeno.
Jedno malo opazanje: Koristis alokaciju na fiksnu velicinu sto bas i nema smisla, onda ili korist npr char ime[64], ili bolje C++ rjesenje je da koristis stringove. to je to.
Evo mog koda. Nije dotjeran do kraja ali radi.
Code:
#include <iostream>
#include <string>
enum Zanr { horror, drama, komedija, crtic, triler, akcijski, psiholoski, mjuzikl, dokumentarac };
class Clan {
static float Id_broj;
float tel;
std::string ime, adresa;
public:
Clan(std::string ime, std::string adresa, float tel)
: ime(ime), adresa(adresa), tel(tel)
{ Id_broj += 1; }
~Clan() { }
float DajId_broj() { return Id_broj; }
float DajTel() { return tel; }
std::string DajIme() { return ime; }
std::string DajAdresu() { return adresa; }
void PostaviTel(float t) { tel = t; }
void PostaviAdr(std::string a) { adresa = a; }
};
class Film : public Clan {
Zanr vrsta;
bool pos;
static float Id;
int god_proizv;
std::string naziv, zemlja;
public:
Film (Zanr vrsta, int god_proizv, std::string naziv, std::string zemlja, std::string ime, std::string adresa, float tel)
: Clan(ime, adresa, tel), vrsta(vrsta), god_proizv(god_proizv), naziv(naziv), zemlja(zemlja)
{
pos = false;
Id += 1;
}
~Film() { }
void Posudba(Clan c) {
pos = true;
}
Clan DajClana() { return *this; }
bool Posudena() { return pos; }
Zanr DajZanr() { return vrsta; }
std::string DajNaziv() { return naziv; }
std::string DajZemlju() { return zemlja; }
float DajId() { return Id; }
int DajGod() { return god_proizv; }
};