Proszę napisać klasę reprezentującą zebranie.
Zebranie posiada następujące cechy:
- miejsce spotkania
- termin spotkania
- listę uczestników
W zebraniu mogą uczestniczyć:
- Studenci
- Profesorowie
- Technicy
Każda z tych grup MUSI być reprezentowana przez osobną klasę i posiada swoje indywidualne cechy:
Student - numer indeksu
Profesor - tel. kontaktowy
Technik - godziny pracy i nr pokoju w którym przebywa
Klasa zebranie pozwala na:
- określenie terminu i miejsca spotkania
- dodanie uczestnika do listy
- wyświetlenie informacji o uczestnikach
Tutaj mój kod:
Kod: Zaznacz cały
#include <cstdlib>
#include <iostream>
#include <string>
#include <iostream>
class Osoba
{
protected:
std::string imie;
std::string nazwisko;
public:
Osoba(std::string im, std::string nazw):
imie(im),nazwisko(nazw){};
};
class Student : public Osoba
{
private:
int nrindex;
public:
Student(std::string im, std::string nazw, int nr):
Osoba(im,nazw), nrindex(nr){};
};
class Profesor : public Osoba
{
private:
std::string nrkontakt;
public:
Profesor(std::string im, std::string nazw, std::string nr):
Osoba(im,nazw), nrkontakt(nr){};
};
class Technik : public Osoba
{
private:
int nrpokoju;
public:
Technik(std::string im, std::string nazw, int nr):
Osoba(im,nazw), nrpokoju(nr){};
};
class Zebranie
{
private:
std::string miejscspotkania;
std::string termin;
public:
Zebranie(std::string miejsc, std::string term):
miejscspotkania(miejsc), termin(term){};
//tutaj jakas metoda ktora doda uczestnika
// metoda info
}
int main()
{
Zebranie z("308-C5", "wtorek 11.30");
z.dodaj(new Student("Jan", "Kowalski", 123456));
z.dodaj(new Profesor("Adam", "Nowak", "71-333-33-33"));
z.dodaj(new Technik("Krzysztof", "Jakiśtam", 8));
z.info();
return 0;
}
Jedyny pomysł jaki przychodzi mi do głowy to coś takiego:
Kod: Zaznacz cały
//Klasa zebranie
Osoba *obj1;
void dodaj(Osoba *obj)
{
*obj1=*obj;
}
Dzięki i pozdrawiam.