zad-3-J.G
unknown
c_cpp
3 years ago
3.5 kB
4
Indexable
#include <iostream> #include <stdlib.h> #include <string.h> using namespace std; /* 1) Jak wygląda zapis do obiektu? - Zapisujemy bezpośrednio dane do obiektu. 2) Czy zapis jest podobny do struktury? - Tak 3) Kto może zapisywać do obiektu? - W przypadku pól publicznych, każdy. 4) Różnice między klasą a strukturą - Pola klasy są domyślnie prywatne. (hermetyzacja) 5) Zastanowić się czym klasa różni się w tym wypadku od struktury? Mamy tylko dane, cechy, atrybuty. Jakaś różnica? Po co nam zatem obiekty? - Mozna je tworzyc n razy. 6) Jak wygląda odczyt, i kto może czytać z obiektu? - Pola są publiczne wiec odczyt może się odbywać bezpośrednio z obiektu - Każdy może czytać z obiektu 7) Jak tworzone i obsługiwane są zmienne obiektowe tego typu? - Zmienna statyczna inicjalizująca się w momencie deklaracji, w przeciwieństwie do zmiennej dynamicznej, programista nie ma kontroli nad tym kiedy taka zmiena zostanie zniszczona. */ class Postac { public: string rasa; string imie; int obrona; int atak; int szybkosc; void odczyt() { cout << "Gatunek: " << rasa << endl; cout << "Imię: " + imie << endl; cout << "Obrona: " + to_string(obrona) << endl; cout << "Atak: " + to_string(atak) << endl; cout << "Szybkość: " + to_string(szybkosc) << endl; } void ustawRase(string wybranaRasa) { rasa = wybranaRasa; } void pokazDane() { /* 1) Czy metoda ma dostęp do wnętrza klasy? - Tak 2) Omówić metodykę tworzenia identyfikatorów w stylu camelCase oraz snake_case. - Identyfikatory w metodyce camelCase są tworzone w taki sposób że pierwsza litera każdego wyrazu np funkcji (nie licząc pierwszego) jest pisana z wielkiej litery, w przypadku snake_case wyrazy łączymy za pomocą _ 3) Jak działa taka metoda dodawania danych i odczytu? - pokazDane -> Pobiera dane następnie wyświetla za pomocą cout - wczytajDane -> zapisuje w klasie wartosci przekazane przez cin 4) Omówić porządek w kodzie dzięki zamknięciu danych w obiektach. - Dzięki zastosowaniu klas w prosty sposób możemy porządkować logikę wspólną dla wielu elementów. Dodatkowo umożliwia nam segregację elementów w sposób logiczny i zwięzły. 5) Sprawdzić ile pamięci zajmuje obiekt. - Zajmuje 64 */ cout << "Mój gatunek to " << rasa << endl; cout << "Nazywam się " + imie << endl; cout << "Mam takie moce: " << endl; cout << " 1) Atak: " + to_string(atak) << endl; cout << " 2) Szybkość: " + to_string(szybkosc) << endl; cout << " 3) Obrona: " + to_string(obrona) << endl; } void wczytajDane() { cout << "Edycja danych dla " << rasa << endl; cout << "Wpisz Imię" << endl; cin >> imie; cout << "Wpisz Atak" << endl; cin >> atak; cout << "Wpisz Szybkość" << endl; cin >> szybkosc; cout << "Wpisz Obronę" << endl; cin >> obrona; } }; int main() { Postac zwiadowca = Postac(); zwiadowca.ustawRase("zwiadowca"); zwiadowca.wczytajDane(); zwiadowca.odczyt(); Postac mag = Postac(); mag.ustawRase("mag"); mag.wczytajDane(); mag.odczyt(); Postac wojownik = Postac(); wojownik.ustawRase("wojownik"); wojownik.wczytajDane(); wojownik.odczyt(); cout << sizeof(zwiadowca); return 0; }
Editor is loading...