Witam serdecznie,
Mam następujący problem, otóż mając następujący kod
class Czlowiek
{
public: string imie, nazwisko;
int zamowienie;
public:
void pij()
{
cout << "Ile zamawiasz?" << endl;
cin >> zamowienie;
}
string przedstawsie()
{
cout << "Przedstaw sie, podaj imie, wcisnij enter, podaj nazwosko" << endl;
cin >> imie;
cin >> nazwisko;
}
};
class Student : public Czlowiek
{
int NrIndeksu;
};
class Pracownik : public Czlowiek
{
};
int main(int argc, char *argv[]) {
int dlugosc, losowanie;
Student student;
Pracownik pracownik;
cout << "Podaj dlugosc kolejki przy ladzie" << endl;
cin >> dlugosc;
Czlowiek tablica[dlugosc];
for(int i = 0; i < dlugosc; i++)
{
losowanie = rand() % 2 + 1;
if(losowanie == 1)
{
tablica[i] = student;
}
else
{
tablica[i] = pracownik;
}
}
W jaki sposób mogę odwołać się do obiektu klasy student lub pracownik poprzez elementy tablicy "tablica"?
Bo teraz odwołuje się to klasy "Czlowiek", które jest bazową klasą oby wyżej wspomnianych klas i np. chcąc napisać inną metodę o takiej samej nazwie w klasie student i pracownik, które robił by co innego i potem wywołując tę metodę poprzez dany element tablicy "tablica" w zależności czy ten element był by obiektem klasy student czy pracownik działo by się co innego.
if(losowanie == 1)
{
tablica[i] = student;
}
else
{
tablica[i] = pracownik;
}
Teraz w zależności od wartości zmiennej losowanie danemu elementowi tablicy przypisuje obiekt student lub pracownik, lecz te obiekty i tak odwołują się do klasy człowiek a nie tak jak ja bym chciał do klasy Student lub Pracownik.
Z góry dziękuję za pomoc.