fork download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. class A
  7. {
  8. public:
  9. int a;
  10. };
  11.  
  12. class B: public A
  13. {
  14. public:
  15. int b;
  16. };
  17.  
  18. class C: public A
  19. {
  20. public:
  21. int c;
  22. };
  23.  
  24. class D: public B, public C
  25. {
  26. public:
  27. int d;
  28. };
  29.  
  30. void f1(B* b)
  31. {
  32. cout<<b->b<<" "<<b->a<<endl;
  33. cout<<b<<endl;
  34. }
  35.  
  36. void f2(C* c)
  37. {
  38. cout<<c->c<<" "<<c->a<<endl;
  39. cout<<c<<endl;
  40. }
  41.  
  42. int main()
  43. {
  44. D d;
  45. d.c = 1;
  46. d.b = 2;
  47. d.C::a = 3;
  48. d.B::a = 4;
  49. cout<<&d<<endl;
  50. f1(&d);
  51. f2(&d);
  52. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
0xffb065ac
2 4
0xffb065ac
1 3
0xffb065b4