Zapoznaj się z przedstawionym programem, a następnie uzupełnij klasę Komputer w taki sposób, aby program mógł wyświetlić poprawnie komunikat informujący o działaniu. Napis ma być wypisywany przez obiekt klasy Komputer za pomocą metody wirtualnej dzialanie(). Przetestuj działanie programu dla komunikatu: "Przeprowadzam obliczenia!".
Specyfikacja:
Wynik:
Program wypisuje komunikat informujący o działaniu klasy Komputer.
RoEN3y98Dkb80
Przykładowe rozwiązanie zadania:
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. using namespace std średnik.
Linia 4. class Urzadzenie otwórz nawias klamrowy.
Linia 5. public dwukropek.
Linia 6. virtual void dzialanie otwórz nawias okrągły zamknij nawias okrągły znak równości 0 średnik.
Linia 7. zamknij nawias klamrowy średnik.
Linia 9. class Komputer dwukropek public Urzadzenie otwórz nawias klamrowy.
Linia 10. public dwukropek.
Linia 11. void dzialanie otwórz nawias okrągły zamknij nawias okrągły override otwórz nawias klamrowy.
Linia 12. cout otwórz nawias ostrokątny otwórz nawias ostrokątny cudzysłów Przeprowadzam obliczenia wykrzyknik cudzysłów otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 13. zamknij nawias klamrowy.
Linia 14. zamknij nawias klamrowy średnik.
Linia 16. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. Komputer komputer średnik.
Linia 18. komputer kropka dzialanie otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 19. return 0 średnik.
Linia 20. zamknij nawias klamrowy.
21
Ćwiczenie 2
Napisz program, w którym stworzysz klasę abstrakcyjną o nazwie Zwierze, zawierającą wirtualną metodę daj_glos(). Następnie stwórz w programie klasę Kot, która będzie dziedziczyła publicznie z klasy Zwierze. Klasa Kot ma posiadać implementację wirtualnej metody daj_glos(). W programie ma być utworzony obiekt Kot, który wywołuje metodę daj_glos() i w ten sposób wypisuje odpowiednią zawartość. Przetestuj działanie programu dla komunikatu „Miau miau!".
Specyfikacja:
Wynik:
Program wypisuje komunikat zadeklarowany w odpowiedniej metodzie klasy Kot.
RqZkZttSyZAkE
Przykładowe rozwiązanie zadania:
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. using namespace std średnik.
Linia 4. class Zwierze otwórz nawias klamrowy.
Linia 5. public dwukropek.
Linia 6. virtual void daj podkreślnik glos otwórz nawias okrągły zamknij nawias okrągły znak równości 0 średnik.
Linia 7. zamknij nawias klamrowy średnik.
Linia 9. class Kot dwukropek public Zwierze otwórz nawias klamrowy.
Linia 10. public dwukropek.
Linia 11. void daj podkreślnik glos otwórz nawias okrągły zamknij nawias okrągły override otwórz nawias klamrowy.
Linia 12. cout otwórz nawias ostrokątny otwórz nawias ostrokątny cudzysłów Miau miau wykrzyknik cudzysłów średnik.
Linia 13. zamknij nawias klamrowy.
Linia 14. zamknij nawias klamrowy średnik.
Linia 16. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. Kot kot średnik.
Linia 18. kot kropka daj podkreślnik glos otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 19. return 0 średnik.
Linia 20. zamknij nawias klamrowy.
31
Ćwiczenie 3
Uzupełnij program, w którym zawarto klasę Gracz oraz dziedziczącą po niej klasę Biegacz. Do klasy Biegacz dodaj prywatne pole typu int o nazwie kondycja. Nadpisz metodę wykonaj_ruch() w taki sposób, aby modyfikowała ona współrzędne biegacza zgodnie z podanym kierunkiem (0 – góra, 1 – prawo, 2 – dół, 3 – lewo). Współrzędne mają być zgodne z kartezjańskim układem współrzędnych. Każdy ruch powoduje u biegacza stratę kondycji (góra – strata 2 punktów, prawo – strata 1 punktu, dół – zysk 1 punktu, lewo – strata 1 punktu). W momencie, gdy kondycja biegacza nie pozwala na wykonanie danego ruchu, program powinien wypisać na ekran komunikat „Nie mam sily". Przetestuj swój program dla danych zawartych w tablicy trasa. Jeśli nie może on wykonać jakiegoś ruchu, pomija go – nie wykonujemy ruchu ponownie. Na koniec programu powinny zostać wypisane współrzędne gracza.
Specyfikacja:
Dane:
trasa – tablica liczb naturalnych, określających kolejne ruchy gracza
Wynik:
Program wypisuje komunikaty informujące o braku kondycji obiektu klasy Gracz oraz jego współrzędne końcowe.
RN3LCgkYRo3An
Przykładowe rozwiązanie zadania:
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. using namespace std średnik.
Linia 4. class Gracz otwórz nawias klamrowy.
Linia 5. protected dwukropek.
Linia 6. int x znak równości 0 przecinek y znak równości 0 średnik.
Linia 7. public dwukropek.
Linia 8. virtual void wykonaj podkreślnik ruch otwórz nawias okrągły int kierunek zamknij nawias okrągły znak równości 0 średnik.
Linia 10. int podaj podkreślnik x otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 11. return x średnik.
Linia 12. zamknij nawias klamrowy.
Linia 14. int podaj podkreślnik y otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 15. return y średnik.
Linia 16. zamknij nawias klamrowy.
Linia 17. zamknij nawias klamrowy średnik.
Linia 19. class Biegacz dwukropek public Gracz otwórz nawias klamrowy.
Linia 20. private dwukropek.
Linia 21. int kondycja znak równości 10 średnik.
Linia 22. public dwukropek.
Linia 23. void wykonaj podkreślnik ruch otwórz nawias okrągły int kierunek zamknij nawias okrągły override otwórz nawias klamrowy.
Linia 24. if otwórz nawias okrągły kierunek znak równości znak równości 0 ampersant ampersant this minus zamknij nawias ostrokątny kondycja zamknij nawias ostrokątny znak równości 2 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 25. prawy ukośnik prawy ukośnik góra.
Linia 26. this minus zamknij nawias ostrokątny y plus znak równości 1 średnik.
Linia 27. this minus zamknij nawias ostrokątny kondycja minus znak równości 2 średnik.
Linia 28. zamknij nawias klamrowy.
Linia 29. else if otwórz nawias okrągły kierunek znak równości znak równości 1 ampersant ampersant this minus zamknij nawias ostrokątny kondycja zamknij nawias ostrokątny znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 30. prawy ukośnik prawy ukośnik w prawo.
Linia 31. this minus zamknij nawias ostrokątny x plus znak równości 1 średnik.
Linia 32. this minus zamknij nawias ostrokątny kondycja minus znak równości 1 średnik.
Linia 33. zamknij nawias klamrowy.
Linia 34. else if otwórz nawias okrągły kierunek znak równości znak równości 2 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 35. prawy ukośnik prawy ukośnik w dół.
Linia 36. this minus zamknij nawias ostrokątny y minus znak równości 1 średnik.
Linia 37. this minus zamknij nawias ostrokątny kondycja plus znak równości 1 średnik.
Linia 38. zamknij nawias klamrowy.
Linia 39. else if otwórz nawias okrągły kierunek znak równości znak równości 3 ampersant ampersant this minus zamknij nawias ostrokątny kondycja zamknij nawias ostrokątny znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy.
Linia 40. prawy ukośnik prawy ukośnik w lewo.
Linia 41. this minus zamknij nawias ostrokątny x minus znak równości 1 średnik.
Linia 42. this minus zamknij nawias ostrokątny kondycja minus znak równości 1 średnik.
Linia 43. zamknij nawias klamrowy.
Linia 44. else otwórz nawias klamrowy.
Linia 45. cout otwórz nawias ostrokątny otwórz nawias ostrokątny cudzysłów Nie mam sily cudzysłów otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 46. zamknij nawias klamrowy.
Linia 47. zamknij nawias klamrowy.
Linia 48. zamknij nawias klamrowy średnik.
Linia 50. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 51. Biegacz biegacz średnik.
Linia 52. int trasa otwórz nawias kwadratowy 13 zamknij nawias kwadratowy znak równości otwórz nawias klamrowy 0 przecinek 1 przecinek 1 przecinek 3 przecinek 2 przecinek 3 przecinek 0 przecinek 0 przecinek 0 przecinek 1 przecinek 2 przecinek 3 przecinek 0 zamknij nawias klamrowy średnik.
Linia 54. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny 13 średnik plus plus i zamknij nawias okrągły otwórz nawias klamrowy.
Linia 55. biegacz kropka wykonaj podkreślnik ruch otwórz nawias okrągły trasa otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły średnik.
Linia 56. zamknij nawias klamrowy.
Linia 58. cout otwórz nawias ostrokątny otwórz nawias ostrokątny biegacz kropka podaj podkreślnik x otwórz nawias okrągły zamknij nawias okrągły otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 59. cout otwórz nawias ostrokątny otwórz nawias ostrokątny biegacz kropka podaj podkreślnik y otwórz nawias okrągły zamknij nawias okrągły otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 61. return 0 średnik.
Linia 62. zamknij nawias klamrowy.