Advertisement
Guest User

косоглазыйхуй

a guest
Mar 27th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. //Базовый класс А  содержит  одно  числовое поле.
  2. //Класс В является производным от класса А и содержит два числовых  поля.
  3. //Класс С является производным от класса В и не содержит компонентных полей.
  4. //Значения числовых полей передаются из основной функции через аргументы конструктора.
  5. //Требуется определить функции  вывода на экран значений числовых полей и вычисления произведения трех числовых полей
  6.  
  7. #include "stdafx.h"
  8. #include <iostream>
  9. using namespace std;
  10.  
  11. class A
  12. {
  13. protected:
  14.     int a1;
  15. public:
  16.     A(int a)
  17.     {
  18.         a1 = a;
  19.     }
  20.     void A::show()
  21.     {
  22.         cout << "a = " << a1 << endl;
  23.     }
  24. };
  25.  
  26. class B :public A
  27. {
  28. protected:
  29.     int b1, b2;
  30. public:
  31.     B(int a1_f, int b1_f, int b2_f) : A(a1_f)
  32.     {
  33.         b1 = b1_f;
  34.         b2 = b2_f;
  35.     }
  36.  
  37.     void B::show()
  38.     {
  39.         A::show();
  40.         cout << "B1 = " << b1 << ", B2 = " << b2 << endl;
  41.     }
  42. };
  43.  
  44. class C :public B
  45. {
  46. public:
  47.     C(int a1_f, int b1_f, int b2_f) : B(a1_f, b1_f, b2_f)
  48.     {
  49.  
  50.     }
  51.  
  52.     void C::show()
  53.     {
  54.         B::show();
  55.     }
  56.  
  57.     int C::mult()
  58.     {
  59.         return a1*b1*b2;
  60.     }
  61. };
  62.  
  63. int main()
  64. {
  65.     C c_obj(1, 2, 3);
  66.     c_obj.show();
  67.     cout << "a1 * b1 * b2 = " << c_obj.mult() << endl;
  68.     system("pause");
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement