C# Programming - Inheritance - Discussion

Discussion Forum : Inheritance - General Questions (Q.No. 2)
2.
Which of the following statements should be added to the subroutine fun( ) if the C#.NET code snippet given below is to output 9 13?
class BaseClass
{
    protected int i = 13;
}
class Derived: BaseClass
{
    int i = 9; 
    public void fun()
    {
        // [*** Add statement here ***]
    } 
}
Console.WriteLine(base.i + " " + i);
Console.WriteLine(i + " " + base.i);
Console.WriteLine(mybase.i + " " + i);
Console.WriteLine(i + " " + mybase.i);
Console.WriteLine(i + " " + this.i);
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
17 comments Page 1 of 2.

Somu said:   1 decade ago
If I remove protected then it show error. Why?

Ravi said:   1 decade ago
Because on removing protected keyword int I will become public by default, and now for derived there would be two i variable.

Neelendu said:   1 decade ago
Removing protected keyword become private. Because default scope of class member is private which is not accessible by other class or type.

Here use of protected is:

Only child class access this data.

KUMAR said:   1 decade ago
Removing protected keyword means these variable private data type. So this variable use only base class, does not inherited child class.

Sudhakar said:   1 decade ago
Private is the default access modifier for members, if you don't specify access specifier then compiler assumes it is private, private members are not accessible in derived class hence you will get error.

Chandra Shekhar said:   1 decade ago
If we remove protected modifier by default it become private which is not accessible in child class.

Divya said:   10 years ago
By default csharp class members are private when the access specifier is absent. So, it can't access child class features (derived class features).

Ajesh said:   10 years ago
What is base.i?

Govind said:   9 years ago
Where is create object name base ?

It is directly used it.

Jana said:   9 years ago
To get output as 9 13,

First you need to get the derived class i value and then you can get the base class i value by object of base class as base.i

Where base is object of BaseClass.


Post your comments here:

Your comments will be displayed after verification.