Programowanie obiektowe
Laboratorium nr IV
Zadanie 1. (na zaliczenie)
Dla poniższej deklaracji klasy napisz jej implementację oraz napisz krótki program korzystający z wszystkich metod składowych.
class Sportowiec {
private:
static int ile;
char * nazwisko;
char * sport;
double waga;
public:
Sportowiec();
Sportowiec(const char*, const char*, const double);
~Sportowiec();
static int getIle(); //zwraca ilosc istniejących obiektów void wypisz(); //wypisuje dane obiektu
};
Zadanie 2. Domyślny konstruktor kopiujący oraz domyślny operator przypisania w powyższej klasie spowoduje współdzielenie tego samego obszaru pamięci przez dwa różne obiekty. Wystarczy bowiem uruchomić następujący kod:
int main() {
Sportowiec s1(”Malysz”, ”rajdowiec”, 63);
s1.wypisz();
{
Sportowiec s2 = s1; //działa domyślny konstruktor kopiujący
//po wyjściu z bloku obiekt s2 zostaje zniszczony uszkadzając obiekt s1;
}
s1.wypisz();
//analogicznie z domyślnym operatorem przypisania Sportowiec s3(”Partyka”,”skoczek”,74);
s3.wypisz();
{
Sportowiec s4;
s4 = s3;
}
s3.wypisz();
return 0;
}