C# Programming - Inheritance - Discussion

Discussion Forum : Inheritance - General Questions (Q.No. 3)
3.
Which of the following statements are correct about the C#.NET code snippet given below?
namespace IndiabixConsoleApplication
{ 
    class index
    {
        protected int count;
        public index()
        {
            count = 0;
        }
    }
    class index1: index
    {
        public void increment()
        {
            count = count +1;
        }
    }
    class MyProgram
    {
        static void Main(string[] args)
        {
            index1 i = new index1(); 
            i.increment(); 
        }
    }
}
  1. count should be declared as public if it is to become available in the inheritance chain.
  2. count should be declared as protected if it is to become available in the inheritance chain.
  3. While constructing an object referred to by i firstly constructor of index class will be called followed by constructor of index1 class.
  4. Constructor of index class does not get inherited in index1 class.
  5. count should be declared as Friend if it is to become available in the inheritance chain.
1, 2, 5
2, 3, 4
3, 5
4, 5
None of these
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
15 comments Page 2 of 2.

John said:   9 years ago
@DKP - correct. If you create a solution and put a break point on the Count=0 line and run the solution, the break point gets hit.

So the option is incorrect. The constructor DOES get inherited.

Mash said:   9 years ago
Answer seems all right to me.

Amr said:   7 years ago
I do not understand the third option. Please explain it for me.

Amit Samnani said:   6 years ago
These answers are Totally wrong answer let me explain it in brief.

Answer B: 2, 3, 4

The second statement says, "count should be declared as protected if it is to become available in the inheritance chain"

Explanation: it is ok if it declares as Public.Public data member can also be inherited in the derived class.

Third option says , "While constructing an object referred to by i firstly constructor of index class will be called followed by constructor of index1 class."

Explanations: This answer seems to be ok!! but then it conflicts with answer option fourth.

Last option says, Constructor of index class does not get inherited in index1 class.

Explanations : totally wrong answer in the case of inheritance.

Anju said:   6 years ago
Of course, the base class constructor will be called first.


Post your comments here:

Your comments will be displayed after verification.