Advertisement
Guest User

Untitled

a guest
May 25th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. struct PojazdMechaniczny{
  7. char* nazwa;
  8. int wiek;
  9.  
  10. PojazdMechaniczny(int w, char* n)
  11. : wiek(w), nazwa(strcpy(new char[strlen(n) + 1], n))
  12. {}
  13.  
  14. PojazdMechaniczny(const PojazdMechaniczny & pm):
  15. wiek(pm.wiek), nazwa(strcpy(new char[strlen(pm.nazwa) + 1] , pm.nazwa))
  16. {
  17. }
  18.  
  19. ~PojazdMechaniczny(){
  20. delete[] nazwa;
  21. }
  22.  
  23. virtual void show() = 0;
  24. };
  25.  
  26. struct Samochod : public PojazdMechaniczny{
  27. char* kolor;
  28. int pojemnosc;
  29.  
  30. Samochod(int w, char* n, int p, char* k) :
  31. PojazdMechaniczny(w, n), pojemnosc(p), kolor(strcpy(new char[strlen(k) + 1], k)){}
  32.  
  33. Samochod(const Samochod &s) : PojazdMechaniczny(s), pojemnosc(s.pojemnosc), kolor(strcpy(new char[strlen(s.kolor) + 1], s.kolor)) {}
  34.  
  35. ~Samochod(){
  36. delete[] kolor;
  37. }
  38.  
  39. void show(){
  40. cout << nazwa << "\n" << wiek << "\n" << kolor << "\n" << pojemnosc << endl;
  41. }
  42. };
  43.  
  44. struct Lodz : public PojazdMechaniczny{
  45. char* typ;
  46. int wypornosc;
  47.  
  48. Lodz(int w, char* n, int wyp, char* t) :PojazdMechaniczny(w, n), wypornosc(wyp), typ(strcpy(new char[strlen(t) + 1], t)){}
  49.  
  50. Lodz( const Lodz &l): PojazdMechaniczny(l), wypornosc(l.wypornosc), typ(strcpy(new char[strlen(l.typ) + 1] , l.typ)){}
  51.  
  52. ~Lodz(){
  53. delete[] typ;
  54. }
  55.  
  56. void show(){
  57. cout << nazwa << "\n" << wiek << "\n" << typ << "\n" << wypornosc << endl;
  58. }
  59. };
  60.  
  61. struct Amfibia : public Samochod, public Lodz{
  62.  
  63. Samochod::nazwa;
  64. Samochod::wiek;
  65.  
  66. Amfibia(int w, char* n, int wyp, char* t, int p, char* k)
  67. : Lodz(w, n, wyp, t), Samochod(w, n , p, k)
  68. {}
  69.  
  70. Amfibia(const Amfibia &a) :Lodz(a), Samochod(a)
  71. {}
  72.  
  73. ~Amfibia(){
  74.  
  75. }
  76.  
  77. };
  78. /*template<PojazdMechaniczny, 3>
  79. struct Garaz{
  80. PojazdMechaniczny* obj;
  81. int maximum;
  82.  
  83. };*/
  84.  
  85. int main(){
  86.  
  87. Samochod* samoch = new Samochod(5, "toyota", 2, "czerwony");
  88.  
  89. Lodz* lod = new Lodz(10, "nustang", 20, "dabl");
  90.  
  91. Amfibia* amf = new Amfibia(2, "amfibia", 10, "jeziorna", 7, "zieliony");
  92.  
  93. samoch->show();
  94.  
  95. lod->show();
  96.  
  97. system("pause");
  98. return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement