Advertisement
Guest User

Konstruktory

a guest
May 18th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. class pracownik {
  8. private:
  9.   string imie;
  10.   string nazwisko;
  11.   string stanowisko;
  12.   int wiek;
  13.   int zarobki;
  14. public:
  15.     // konstrutor musi być publiczny i ma nazwę taką samą jak nazwa klasy
  16.     pracownik(){ }    // konstruktor domyślny nawet jeśli go nie napiszesz to zawsze jest dodawany
  17.     pracownik(string imie, string nazwisko )  // konstruktory można przeciążać,
  18.     {                                         //ten ustawia pozostałe wartości puste
  19.       this->imie = imie;
  20.       this->nazwisko = nazwisko;
  21.       this->stanowisko = "";
  22.       wiek = zarobki = 0;
  23.     }
  24.     // poniższy wariant dodatkowo wypisuje zawartość klasy
  25.     pracownik(string imie, string nazwisko, string stanowisko, int wiek, int zarobki)
  26.     {
  27.       Ustaw(imie, nazwisko, stanowisko, wiek, zarobki);
  28.       Wypisz();
  29.     }
  30.  
  31.   void Ustaw(string imie,string nazwisko,string stanowisko, int wiek, int zarobki) {
  32.     this->imie = imie;
  33.     this->nazwisko = nazwisko;
  34.     this->stanowisko = stanowisko;
  35.     this->wiek = wiek;
  36.     this->zarobki = zarobki;
  37.   }
  38.   void Wypisz();
  39. };
  40.  
  41.  
  42. void pracownik::Wypisz() {
  43.   cout << "Imie: " << imie << "\nNazwisko: " << nazwisko
  44.        << "\nStanowisko: " << stanowisko << "\nWiek: " << wiek
  45.        << "\nZarobki: " << zarobki << "\n\n";
  46. }
  47.  
  48. int main()
  49. {
  50.   pracownik *pracownik1 = new pracownik;
  51.   pracownik *p1 = nullptr, *p2 = nullptr; // jeśli  nie przydzielamy od razu pamięci wskaźnikowi to należy go wyzerować
  52.  
  53.   p1 = new pracownik("Jan", "Kowalski");
  54.   p1->Wypisz();
  55.  
  56.   p2 = new pracownik("Adas", "Mialczynski", "Postac fikcyjna", 33, 1600);
  57.  
  58.   pracownik1->Ustaw("Regina","Arabik","Mechatronik",22,3000);
  59.   pracownik1->Wypisz();
  60.  
  61.   delete pracownik1, p1, p2;
  62.   system ("Pause");
  63.   return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement