Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

resenje zadatka sa klasama i nasledivanjem

[es] :: C/C++ programiranje :: resenje zadatka sa klasama i nasledivanjem

[ Pregleda: 1737 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

antonija
Antonija Budimir

Član broj: 29581
Poruke: 17
*.math.hr



Profil

icon resenje zadatka sa klasama i nasledivanjem09.09.2004. u 11:37 - pre 238 meseci
Molim vas da mi provjerite da li je ovo rešenje ovog zadatka dobro i da li se moze bolje reš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!





 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: resenje zadatka sa klasama i nasledivanjem09.09.2004. u 20:52 - pre 238 meseci
Code:

#include <windows.h>
#include <iostream>
#include <string>
using namespace std;

class Clan {
private:
static int BrojClanova;
int Id_broj;
wstring tel, ime, adresa;
public:
Clan() : tel( L"" ), ime( L"" ), adresa( L"" ) { 
};
Clan(LPWSTR i, LPWSTR a, LPWSTR t) {
tel = t;
ime = i;
adresa = a;
Id_broj = ++BrojClanova; //Ako hoces da ti Id_broj ide od 0 napisi BrojClanova++
};
int DajId_broj() { return Id_broj; }
wstring DajTel() { return tel; }
wstring DajIme() { return ime; }
wstring DajAdresu() { return adresa; }
void PostaviTel(wstring t) { tel = t; }
void PostaviAdr(wstring a) { adresa = a; }
~Clan() {
}
};

Ja bih ovako definisao ovu klasu. U tvom slucaju Id_broj si definisao ovako
Code:

static float Id_broj;

sto znaci da za sve objekte tipa Clan postoji samo jedan Id_broj... kad ga povecas u jednom objektu on se poveca u svim tako da bi ti svaki objekat funkcijom DajId_broj vracao istu vrednost. Ako si to i hteo onda sam ja pogresno shvatio svrhu te promenljive :)
Sve ostalo je u sustini isto jedino sto sam koristio promenljive tipa wstring koje umesto tebe barataju kreiranjem i unistavanjem stringova i jos su i unicode tako da podrzavaju i nasa slova.
Negde u programu bi trebao da definises promenljivu
Code:

int Clan::BrojClanova = 0;

i posle kreiranja svakog objekta klase Clan ta promenljiva ce se uvecati za jedan. Probaj ovo cini mi se da bi trebalo da radi.

Sto se tice ove druge klase... mislim da nema logike da nasledjuje klasu Clan. Klasa Film treba samo da sadrzi jedan objekat koji ce da pokazuje da li je film izdat ili ne. Ako je objekat = NULL film nije izdat, a ako != NULL onda je izdat, a objekat sadrzi podatke o osobi koja je uzela film.
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: resenje zadatka sa klasama i nasledivanjem09.09.2004. u 23:00 - pre 238 meseci
"Srki_82" wrote:
Citat:
Code:

Code:

 #include windows.h
         
Smem da pitam šta ovde traži windows.h?!

f
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: resenje zadatka sa klasama i nasledivanjem09.09.2004. u 23:06 - pre 238 meseci
Ups... sorry... navika :)
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.zonnet.nl

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: resenje zadatka sa klasama i nasledivanjem10.09.2004. u 00:35 - pre 238 meseci
Stvarno ću početi da brišem poruke u kojima se bez razloga pominje windows... :)

f
 
Odgovor na temu

antonija
Antonija Budimir

Član broj: 29581
Poruke: 17
*.math.hr



Profil

icon Re: resenje zadatka sa klasama i nasledivanjem13.09.2004. u 12:57 - pre 238 meseci
Hvala vam puno na pomoći!
 
Odgovor na temu

[es] :: C/C++ programiranje :: resenje zadatka sa klasama i nasledivanjem

[ Pregleda: 1737 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.