zad-2-J.G

mail@pastecode.io avatar
unknown
c_cpp
2 years ago
2.0 kB
2
Indexable
Never

#include <iostream>

 

#include <stdlib.h>

 

#include <string>

 

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;

  }

};

 

Postac wojownik, mag, zwiadowca;

 

int main() {

  wojownik.rasa = "Wojownik";

  wojownik.imie = "aaa";

  wojownik.obrona = 13;

  wojownik.atak = 5;

  wojownik.szybkosc = 2;

 

  mag.rasa = "Mag";

  mag.imie = "bbb";

  mag.obrona = 1;

  mag.atak = 20;

  mag.szybkosc = 5;

 

  zwiadowca.rasa = "Zwiadowca";

  zwiadowca.imie = "ccc";

  zwiadowca.obrona = 5;

  zwiadowca.atak = 10;

  zwiadowca.szybkosc = 5;

 

  zwiadowca.odczyt();

  return 0;

}