Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. //Wprowadzenie:
  8. class A {
  9. private:
  10. int x_A;
  11.  
  12. protected:
  13. int y_A;
  14.  
  15. public:
  16. int z_A;
  17.  
  18. A() : x_A(0), y_A(0), z_A(0)
  19. {
  20. cout << "Lista inicjalizacyjna A zostala wywolana" << endl;
  21. }
  22.  
  23. ~A()
  24. {
  25. cout << "Destruktor A zostal wywolany" << endl;
  26. }
  27.  
  28. void print_values_A()
  29. {
  30. cout << x_A << "\t" << y_A << "\t" << z_A << endl;
  31. }
  32. };
  33. class B : public A
  34. {
  35. private:
  36. int x_B;
  37.  
  38. protected:
  39. int y_B;
  40.  
  41. public:
  42. int z_B;
  43.  
  44. B(int x) : A(), x_B(x), y_B(0), z_B(0)
  45. {
  46. cout << "Lista inicjalizacyjna B zostala wywolana" << endl;
  47. }
  48. ~B()
  49. {
  50. cout << "Destruktor B zostal wywolany" << endl;
  51. }
  52. void print_values_B()
  53. {
  54. cout << y_A << "\t" << z_A << "\t" << x_B << "\t" << y_B << "\t" << z_B << endl;
  55. }
  56. };
  57. class C : protected B
  58. {
  59. private:
  60. int x_C;
  61.  
  62. protected:
  63. int y_C;
  64.  
  65. public:
  66. int z_C;
  67.  
  68. C(int x) : B(x), x_C(x), y_C(0), z_C(1)
  69. {
  70. cout << "Konstruktor C zostal wywolany" << endl;
  71. }
  72. ~C()
  73. {
  74. cout << "Destruktor C zostal wywolany" << endl;
  75. }
  76.  
  77. void print_values_C()
  78. {
  79. cout << y_B << "\t" << z_A << "\t" << y_B << "\t" << z_B << "\t" << x_C << "\t" << y_C << "\t" << z_C << endl;
  80. }
  81. };
  82. class AA
  83. {
  84. protected:
  85. double x, y;
  86.  
  87. public:
  88. AA(double x, double y) : x(x), y(y) { cout << "Konstruktor AA zostal wywolany" << endl; }
  89.  
  90. virtual double compute()
  91. {
  92. return x + y;
  93. }
  94. AA() {}
  95. virtual ~AA() { cout << "Wirtualny destruktor AA zostal wywolany" << endl; }
  96. };
  97. class BB : public AA
  98. {
  99. public:
  100. BB(double x, double y) : AA(x, y) { cout << "Konstruktor BB zostal wywolany" << endl; }
  101.  
  102. virtual double compute()
  103. {
  104. return x * y;
  105. }
  106. BB() {}
  107. virtual ~BB() { cout << "Wirtualny destruktor BB zostal wywolany" << endl; }
  108. };
  109. //Zadania:
  110. class Shape
  111. {
  112. protected:
  113. string name;
  114.  
  115. public:
  116. Shape(string name) : name(name) { cout << "Konstruktor shape zostal wywolany" << endl; }
  117. ~Shape() { cout << "Destruktor shape zostal wywolany" << endl; }
  118. void getName(string name)
  119. {
  120. cout << name << endl;
  121. }
  122. };
  123.  
  124. void Wprowadzenie()
  125. {
  126. //1
  127. /*A a;
  128. a.print_values_A();
  129. B b(5);
  130. b.print_values_B();
  131. C c(7);
  132. c.print_values_C();*/
  133. //2
  134. /*A a1;
  135. B b1(5);
  136. C c1(2);
  137. cout << "Zwykle A" << endl;
  138. a1.print_values_A();
  139. b1.print_values_A();
  140. b1.print_values_B();
  141. c1.print_values_C();
  142.  
  143. A &a2 = b1;
  144. a2.print_values_A();
  145.  
  146. A *a3 = &b1;
  147. cout << "Wskaznik A" << endl;
  148. a3->print_values_A();*/
  149. //3
  150. /*AA aa1(5, 4);
  151. cout << aa1.compute() << endl;
  152. BB bb1(5, 4);
  153. cout << bb1.compute() << endl;
  154. AA& aa2_bb1 = bb1;
  155. cout << aa2_bb1.compute() << endl;
  156. AA* aa3_bb1 = &bb1;
  157. cout << aa3_bb1->compute() << endl;
  158. BB* pbb = new BB(3,1);
  159. AA* paa_bb = new AA(3,1);
  160. cout << "Wskaznik do wirtualnej metody: \n" << pbb->compute() << endl;
  161. cout << paa_bb->compute() << endl;*/
  162. }
  163. void Zad1()
  164. {
  165. Shape shape("Elo");
  166. shape.getName
  167. }
  168.  
  169. int main()
  170. {
  171. Wprowadzenie();
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement