fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class A
  5. {
  6. int i;
  7. public:
  8. A() { i = 7; cout << 1 << f() << i << '/'; }
  9. A(int i) :i(i) { cout << 1 << f() << i << '/'; }
  10. char f() { return 'A'; }
  11. };
  12. class B : public virtual A
  13. {
  14. int i;
  15. public:
  16. B(int i) : A(i), i(++i) { cout << 2 << i << '/'; }
  17. virtual char f() { return 'B'; }
  18. };
  19. class C : public virtual A {
  20. public:
  21. C(int i) : A(i) { cout << 3 << i << '/'; }
  22. virtual char f() { return 'C'; }
  23. };
  24. class D :public A {
  25. public:
  26. D(int i) { cout << 4 << i << '/'; }
  27. virtual char f() { return 'D'; }
  28. };
  29. class E : public B, public C, public D {
  30. public:
  31. E() : B(2), C(3), D(4) { cout << 5; }
  32. virtual char f() { return 'E'; }
  33. };
  34. int main()
  35. {
  36. E e;
  37. return 0;
  38. }
Success #stdin #stdout 0s 16056KB
stdin
Standard input is empty
stdout
1A7/23/33/1A7/44/5