Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. class A
  2. {
  3. public:
  4.     ~A() {}
  5.     virtual int e() = 0;
  6. };
  7.  
  8. class B : virtual public A
  9. {
  10. public:
  11.     ~B() {}
  12.     virtual int f() = 0;
  13. };
  14.  
  15. class C : virtual public A
  16. {
  17. public:
  18.     ~C();
  19.     C(int a);
  20. protected:
  21.     int _c;
  22.     virtual int e();
  23. };
  24.  
  25. class D : public C, virtual public B
  26. {
  27. public:
  28.     ~D();
  29.     D(int a);
  30.     virtual int f();
  31. };
  32.  
  33. C::C(int a)
  34. {
  35.     _c = a;
  36. }
  37.  
  38. C::~C()
  39. {
  40. }
  41.  
  42. int C::e()
  43. {
  44.     return _c;
  45. }
  46.  
  47. D::D(int a):C(a)
  48. {
  49. }
  50.  
  51. D::~D()
  52. {
  53. }
  54.  
  55. int D::f()
  56. {
  57.     return _c+1;
  58. }
  59.  
  60. int main()
  61. {
  62.     D* d = new D(1);
  63.     delete d;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement