Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. class Adres{
  7. protected:
  8. string miasto, ulica, numer;
  9.  
  10. public:
  11. Adres(){
  12. cout << "Konstruktor Adres - bezargumentowy" << endl;
  13. }
  14. Adres(string m, string u, string nr){
  15. m.empty() ? "Nie wprowadzono" : m;
  16. u.empty() ? "Nie wprowadzono" : u;
  17. nr.empty() ? "Nie wprowadzono" : nr;
  18.  
  19. cout << "Konstruktor Adres" << endl;
  20. }
  21. virtual ~Adres(){
  22. cout << "Destruktor Adres" << endl;
  23. }
  24.  
  25. virtual void Wyswietl()const{
  26. cout << miasto << ", ul." << ulica << ' ' << numer << endl;
  27. }
  28. };
  29.  
  30. class Osoba: public Adres{
  31. protected:
  32. string imie, nazwisko;
  33. int wiek;
  34. Adres adres;
  35.  
  36. public:
  37. Osoba(){
  38. cout << "Konstruktor Osoba - bezargumentowy" << endl;
  39. }
  40. Osoba(string i, string n, int w, string m, string u, string nr): adres(m, u, nr){
  41. i.empty() ? "Nie wprowadzono" : i;
  42. n.empty() ? "Nie wprowadzono" : n;
  43. w < 1 ? 1 : w;
  44.  
  45. cout << "Konstruktor Osoba" << endl;
  46. }
  47.  
  48. virtual void Wyswietl()const override{
  49. cout << "Imie: " << imie << ", nazwisko: " << nazwisko << ", wiek: " << wiek << endl << "Adres: ";
  50. adres.Wyswietl();
  51. }
  52.  
  53. string PodajImie()const{
  54. return imie;
  55. }
  56.  
  57. string PodajNazwisko()const{
  58. return nazwisko;
  59. }
  60.  
  61. ~Osoba(){
  62. cout << "Destruktor Osoba" << endl;
  63. }
  64. };
  65.  
  66. class TStudent: public Osoba{
  67. string kierunek;
  68. int rok;
  69.  
  70. public:
  71. TStudent(){
  72. cout << "Konstruktor TStudent - bezargumentowy" << endl;
  73. }
  74. TStudent(string k, int r, string i, string n, int w, string m, string u, string nr): Osoba(i, n, w, m, u, nr){
  75. k.empty() ? "Nie wprowadzono" : k;
  76. r < 1 ? 1 : r;
  77.  
  78. cout << "Konstruktor TStudent" << endl;
  79. }
  80.  
  81. void Wyswietl()const override{
  82. Osoba::Wyswietl();
  83. cout << "Kierunek studiow: " << kierunek << ", rok " << rok << endl;
  84. }
  85.  
  86. string PodajKierunek()const{
  87. return kierunek;
  88. }
  89.  
  90. ~TStudent(){
  91. cout << "Destruktor TSudent" << endl;
  92. }
  93. };
  94.  
  95. void Testuj(){
  96. TStudent * st = new TStudent("IT", 2, "Rafal", "Kacprzak", 21, "Lublin", "Lubelska", "21/25");
  97. st->Wyswietl();
  98.  
  99. delete st;
  100. }
  101. int main() {
  102. Testuj();
  103.  
  104. return 0;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement