Uploaded by jakubek2457

C++ Polymorphism: Exam Questions and Answers

advertisement
1 Na czym polega zjawisko polimorfizmu statycznego?
odnosi się do sytuacji, gdy wybór odpowiedniej funkcji odbywa się w czasie kompilacji, a nie w czasie wykonania programu. W cpp polimorfizm statyczny jest realizowany głównie poprzez przeciążenie funkcji oraz przeciążenie operatorów.
2 Wyjasnij co to przeciążenie metod polega na definiowaniu kilku metod o tej samej nazwie, ale różniących się liczbą lub typami parametrów. Kompilator wybiera odpowiednią metodę do wywołania w zależności od argumentów przekazanych do funkcji.
3 na czym polega polimorfizm dynamiczny wymien najważniejsze cechy polimorfizmu
Polimorfizm dynamiczny to mechanizm, który pozwala na wywołanie odpowiedniej funkcji w zależności od typu obiektu, do którego odnosi się wskaźnik, w czasie wykonywania programu. Osiagmy go poprzez metody wirtualne
4.omów zagadnienie przesłaniania metod.
Przesłanianie metod polega na tym, że klasa pochodna definiuje metodę o tej samej nazwie i sygnaturze, co metoda w klasie bazowej, a wywołanie tej metody przez wskaźnik do klasy bazowej skutkuje wywołaniem metody z klasy pochodnej. Aby przesłonięcie było skuteczne, metoda w klasie bazowej musi być zadeklarowana jako wirtualna
5.co to ojest metoda wirtualna
Metoda wirtualna to metoda zadeklarowana w klasie bazowej z użyciem słowa kluczowego virtual. Dzięki temu mechanizmowi kompilator umożliwia polimorfizm dynamiczny. Jeśli metoda jest wirtualna, wówczas wywołanie tej metody przez wskaźnik lub referencję do klasy bazowej spowoduje wywołanie metody odpowiedniej dla typu obiektu w czasie wykonania, a nie w czasie kompilacji.
6.Jakie są zalety stosowania polimorfizmu statycznego i dynamicznego .
zalety statycznego:
Szybkosc wywolania.
bezpieczeństwo typow.
zalety dynamicznego:
elastyczność
rozszerzalność (Można dodawać nowe klasy (dziedziczące po klasach bazowych) bez modyfikowania istniejącego kodu)
Download