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 1 of 2.

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

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.

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

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

John said:   8 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.

DKP said:   9 years ago
@John.

Yes you are correct, if it is public it will work. But to inherit to child class it is enough to be protected.

DKP said:   9 years ago
Constructor of index class does not get inherited in index 1 class.

Is this option correct? It seems to be wrong. Constructor of index class will get inherited.

John said:   9 years ago
The answer is wrong. Even if it is declared public it is still available to child classes.

Umesh said:   9 years ago
In Inheritance Base class constructor is always executes first then only Child class constructor executes, if we are creating object of child class.

Radhika said:   9 years ago
How constructor to index class?


Post your comments here:

Your comments will be displayed after verification.