Check the following C# code:
Inheritance Chain image
Which of the following statements are correct?
A: variable 'num' is to be declared 'public' so that it is available in inheritance chain
B: variable 'num' is to be declared 'protected' so that it is available in inheritance chain
C: variable 'num' is to be declared 'Friend' so that it is available in inheritance chain
D: When foo is constructed, first constructor of A is called followed by constructor of B