fork download
  1. using System;
  2.  
  3. public class A
  4. {
  5. public A()
  6. {
  7. Console.WriteLine("A::A(); called");
  8. }
  9.  
  10. public A(String arg)
  11. {
  12. Console.WriteLine("A::A(" + arg + "); called");
  13. }
  14. }
  15.  
  16. public class B : A
  17. {
  18. public B()
  19. {
  20. Console.WriteLine("B::B(); called");
  21. }
  22.  
  23. public B(String arg)
  24. {
  25. Console.WriteLine("B::B(" + arg + "); called");
  26. }
  27. }
  28.  
  29. public class C : A
  30. {
  31. public C() : base()
  32. {
  33. Console.WriteLine("C::C(); called");
  34. }
  35.  
  36. public C(String arg) : base(arg)
  37. {
  38. Console.WriteLine("C::C(" + arg + "); called");
  39. }
  40. }
  41. public class Test
  42. {
  43. public static void Main()
  44. {
  45. A a1 = new A();
  46. A a2 = new A("a2");
  47. Console.WriteLine();
  48.  
  49. B b1 = new B();
  50. B b2 = new B("b2");
  51. Console.WriteLine();
  52.  
  53. C c1 = new C();
  54. C c2 = new C("c2");
  55. }
  56. }
Success #stdin #stdout 0.03s 36896KB
stdin
Standard input is empty
stdout
A::A(); called
A::A(a2); called

A::A(); called
B::B(); called
A::A(); called
B::B(b2); called

A::A(); called
C::C(); called
A::A(c2); called
C::C(c2); called