fork download
  1. #include <iostream>
  2. using namespace std;
  3. enum BREED { GOLDEN, CAIRN, DANDIE, SHETLAND, DOBERMAN, LAB};
  4.  
  5. class Mammal
  6. {
  7. public:
  8. Mammal();
  9. Mammal(int age);
  10. ~Mammal();
  11.  
  12. int GetAge() const { return itsAge;}
  13. void SetAge(int age) { itsAge = age;}
  14.  
  15. int GetWeight() const{return itsWeight;}
  16. void SetWeight(int weight) { itsWeight = weight;}
  17.  
  18. void Speak() const { cout << "Dzwiek ssaka!\n";}
  19. void Sleep()const { cout << "Ciiicho. Wlasnie spie.\n";}
  20. protected:
  21. int itsAge;
  22. int itsWeight;
  23. };
  24.  
  25. class Dog : public Mammal
  26. {
  27. public:
  28. Dog();
  29. Dog(int age);
  30. Dog(int age, int weight);
  31. Dog(int age, BREED breed);
  32. Dog(int age, int weight, BREED breed);
  33. ~Dog();
  34.  
  35. BREED GetBreed() const {return itsBreed;}
  36. void SetBreed(BREED breed) {itsBreed = breed;}
  37.  
  38. void WagTail() const { cout << "Machanie ogonem..\n";}
  39. void BegForFood() const { cout << "Prosze o jedzenie...\n";}
  40.  
  41. private:
  42. BREED itsBreed;
  43. };
  44.  
  45. Mammal::Mammal():
  46. itsAge(1),
  47. itsWeight(5)
  48. {
  49. cout << "Konstruktor klasy Mammal..." << endl;
  50. }
  51. Mammal::Mammal(int age):
  52. itsAge(age),
  53. itsWeight(5)
  54. {
  55. cout << "Konstruktor klasy Mammal(int)..." << endl;
  56. }
  57. Mammal::~Mammal()
  58. {
  59. cout << "Destruktor klasy Mammal..." << endl;
  60. }
  61. Dog::Dog():
  62. Mammal(),
  63. itsBreed(GOLDEN)
  64. {
  65. cout << "Konstruktor klasy Dog..." << endl;
  66. }
  67. Dog::Dog(int age):
  68. Mammal(age),
  69. itsBreed(GOLDEN)
  70. {
  71. cout << "Konstruktor klasy Dog(int)..." << endl;
  72. }
  73. Dog::Dog(int age, int weight):
  74. Mammal(age),
  75. itsBreed(GOLDEN)
  76. {
  77. itsWeight = weight;
  78. cout << "Konstruktor klasy Dog(int, int )..." << endl;
  79. }
  80. Dog::Dog(int age, int weight, BREED breed):
  81. Mammal(age),
  82. itsBreed(breed)
  83. {
  84. itsWeight = weight;
  85. cout << "Konstruktor klasy Dog(int, int, BREED)..." << endl;
  86. }
  87. Dog::Dog(int age, BREED breed):
  88. Mammal(age),
  89. itsBreed(breed)
  90. {
  91. cout << "Konstruktor klasyt Dog(int, BREED)..." << endl;
  92. }
  93. Dog::~Dog()
  94. {
  95. cout << "Destruktor klasy Dog..." << endl;
  96. }
  97.  
  98. int main()
  99. {
  100. Dog Fido;
  101. Dog rover(5);
  102. Dog buster(6,8);
  103. Dog yorkie (3, GOLDEN);
  104. Dog dobbie (4,20,DOBERMAN);
  105.  
  106. Fido.Speak();
  107. Fido.WagTail();
  108. cout << "Yorkie ma " << yorkie.GetAge() << " lat" << endl;
  109. cout << "Dobbie wazy " << dobbie.GetWeight()<< " funtow" << endl;
  110. char response;
  111. cin >> response;
  112. return 0;
  113. }
Success #stdin #stdout 0.02s 2736KB
stdin
Standard input is empty
stdout
Konstruktor klasy Mammal...
Konstruktor klasy Dog...
Konstruktor klasy Mammal(int)...
Konstruktor klasy Dog(int)...
Konstruktor klasy Mammal(int)...
Konstruktor klasy Dog(int, int )...
Konstruktor klasy Mammal(int)...
Konstruktor klasyt Dog(int, BREED)...
Konstruktor klasy Mammal(int)...
Konstruktor klasy Dog(int, int, BREED)...
Dzwiek ssaka!
Machanie ogonem..
Yorkie ma 3 lat
Dobbie wazy 20 funtow
Destruktor klasy Dog...
Destruktor klasy Mammal...
Destruktor klasy Dog...
Destruktor klasy Mammal...
Destruktor klasy Dog...
Destruktor klasy Mammal...
Destruktor klasy Dog...
Destruktor klasy Mammal...
Destruktor klasy Dog...
Destruktor klasy Mammal...