fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <memory>
  5.  
  6. class Osoba
  7. {
  8. public:
  9. Osoba(std::string const& imie, std::string const& nazwisko, int wiek) :
  10. imie_(imie), nazwisko_(nazwisko), wiek_(wiek) { std::cout << "Osoba::Osoba\n"; }
  11.  
  12. ~Osoba() { std::cout << "Osoba::~Osoba\n"; }
  13.  
  14. void wypisz() { std::cout << "Imie: " << imie_ << ", Nazwisko: "
  15. << nazwisko_ << ", Wiek: " << wiek_ << std::endl; }
  16.  
  17. private:
  18. std::string imie_;
  19.  
  20. std::string nazwisko_;
  21.  
  22. int wiek_;
  23. };
  24.  
  25. int main()
  26. {
  27. std::vector<std::unique_ptr<Osoba> > osoby;
  28. std::cout << "Ile osób.";
  29. int ile;
  30. std::cin >> ile;
  31. for(int i = 0 ; i < ile ; ++i) {
  32. // tutaj możesz sobie cinować dane i podać je do konstruktora.
  33. osoby.emplace_back(new Osoba("Franek", "Kowalski", 17));
  34. }
  35.  
  36. std::cout << "Wprowadzono:\n";
  37. for(auto const& e : osoby)
  38. e->wypisz();
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0s 3436KB
stdin
5
stdout
Ile osób.Osoba::Osoba
Osoba::Osoba
Osoba::Osoba
Osoba::Osoba
Osoba::Osoba
Wprowadzono:
Imie: Franek, Nazwisko: Kowalski, Wiek: 17
Imie: Franek, Nazwisko: Kowalski, Wiek: 17
Imie: Franek, Nazwisko: Kowalski, Wiek: 17
Imie: Franek, Nazwisko: Kowalski, Wiek: 17
Imie: Franek, Nazwisko: Kowalski, Wiek: 17
Osoba::~Osoba
Osoba::~Osoba
Osoba::~Osoba
Osoba::~Osoba
Osoba::~Osoba