Witam, pisałem juz wcześniej bo miałem problem z klasami, ale chodziło tylko o pomysł podzielenia programu na klasy. Sam program juz napisałem jednak... musze go zmienić :/
Mianowicie miałem klasę cKsiazka w której były pola np. tytuł, autor, wypozyczona oraz pole które określało co jest wpożyczane - czy "Książka" czy "Czasopismo". Nastepnie sprawdzałem to pole instrukcją IF poniewaz było mi to potrzebne do dalszej pracy. I to właśnie nie spodobało się mojemu wykładowcy :/
Teraz po lekkim tutningu mam cos takiego :
class cPozycja {
private:
AnsiString tytul;
bool wypozyczone;
int data_oddania;
bool spoznione;
int kto_pozyczyl;
public :
void SetTitle(AnsiString);
};
//-------------------------------------------------
class cKsiazka : public cPozycja {
private:
AnsiString autor;
public :
void SetAutor(AnsiString);
AnsiString RAutor() { return autor;};
};
//-----------------------------------------------------
class cCzasopismo : public cPozycja {
private:
int numer;
public :
void SetNumer(int);
int RNumer() { return numer;};
};
//------------------------------------------------------
class cObsluga {
private:
cUzytkownicy _osoby[50];
//cPozycja _pozycja[50]; <-- tak mam zrobić
cKsiazki _ksiazki[50]; // to podobno nie potrzebne skoro ma byc tablica typu cPozycja
cCzasopisma _czasopisma[50]; // jak wyzej
int l_osob; //licznik osob, czyli gdzie w danym momencie jestem w tablicy
int l_ksiazek; //jak wyzej tyle ze ksiazek
int l_czasopism; // jak wyzej tyle ze czasopisma
public :
cObsluga::cObsluga(int,int,int);
void LendBook(int);//funkcja ktora wypozycza ksiazke
};
Według zalecen pana DR. mam skorzystać z zalet polimorfizmu :/ Tylko moje pytanie JAK ? :/
Zielonego pojęcia nie mam jak to moge zrobić :/
Do tej pory jak widać, korzystalem z funkcji LendBook(int) z klasy cObsluga, i dane zapisywałem do tablicy typu _ksiazka[].
Wiem ze nalezy dodać do klasy cPozycja metode virtualną oraz do klas po ktore dziedziczą, no ale skoro one robią jako rekord (Struct w c++) to jak i gdzie mam zapisywać dane ? :/
Totalnie sie juz w tym pogubiłem, i bardzo prosze o pomoc :/
Tylko proszę bez linków do polimorfizmu, bo juz troche czytałem i nadal nie wiem jak wybrnąć z tego problemu :/