Advertisement
dmkozyrev

inherit.cpp

Jan 8th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class A1
  5. {
  6.     protected:
  7.         int a1;
  8.     public:
  9.         A1(int val = 0){a1=val;};
  10.         virtual void show(){cout<<"a1="<<a1<<endl;};
  11.         virtual void print(){cout<<"class A1"<<endl;};
  12. };
  13.  
  14. class B1: public A1
  15. {
  16.     protected:
  17.         int b1;
  18.     public:
  19.         B1(int val_a1 = 0, int val_b1 = 0):A1(val_a1){b1=val_b1;};
  20.         virtual void show(){cout<<"a1="<<a1<<" b1="<<b1<<endl;};
  21.         virtual void print(){cout<<"class B1"<<endl;};
  22. };
  23.  
  24. class C1: public B1
  25. {
  26.     protected:
  27.         int c1;
  28.     public:
  29.         C1(int val_a1 = 0, int val_b1 = 0, int val_c1 = 0):B1(val_a1, val_b1){c1=val_c1;};
  30.         virtual void show(){cout<<"a1="<<a1<<" b1="<<b1<<" c1="<<c1<<endl;};
  31.         virtual void print(){cout<<"class C1"<<endl;};
  32. };
  33.  
  34. class C2: public B1
  35. {
  36.     protected:
  37.         int c2;
  38.     public:
  39.         C2(int val_a1 = 0, int val_b1 = 0, int val_c2 = 0):B1(val_a1, val_b1){c2=val_c2;};
  40.         virtual void show(){cout<<"a1="<<a1<<" b1="<<b1<<" c2="<<c2<<endl;};
  41.         virtual void print(){cout<<"class C2"<<endl;};
  42. };
  43.  
  44. int main()
  45. {
  46.     C2 c2(-1,-2,-3);
  47.     c2.print();
  48.     c2.show();
  49.    
  50.     A1 * a = &c2;
  51.     a->print();
  52.     a->show();
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement