General Questions

Question 1 :

Which of the following can be facilitated by the Inheritance mechanism?

1. Use the existing functionality of base class.
2. Overrride the existing functionality of base class.
3. Implement new functionality in the derived class.
4. Implement polymorphic behaviour.
5. Implement containership.


A). 1, 2, 3
B). 3, 4
C). 2, 4, 5
D). 3, 5
Answer : Option A

Question 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 ***]
    } 
}


A). Console.WriteLine(base.i + " " + i);
B). Console.WriteLine(i + " " + base.i);
C). Console.WriteLine(mybase.i + " " + i);
D). Console.WriteLine(i + " " + mybase.i);
E). Console.WriteLine(i + " " + this.i);
Answer : Option B

Question 3 :

Which of the following statements are correct about the C#.NET code snippet given below?

namespace IndiaparinamConsoleApplication
{ 
    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.


A). 1, 2, 5
B). 2, 3, 4
C). 3, 5
D). 4, 5
E). None of these
Answer : Option B

Question 4 :

What will be the size of the object created by the following C#.NET code snippet?

namespace IndiaparinamConsoleApplication
{ 
    class Baseclass
    {
        private int i; 
        protected int j; 
        public int k;
    }
    class Derived: Baseclass
    {
        private int x; 
        protected int y; 
        public int z;
    }
    class MyProgram
    { 
        static void Main (string[ ] args)
        { 
            Derived d = new Derived();
        } 
    } 
}


A). 24 bytes
B). 12 bytes
C). 20 bytes
D). 10 bytes
E). 16 bytes
Answer : Option A

Question 5 :

Which statement will you add in the function fun() of class B, if it is to produce the output "Welcome to Indiaparinam.com!"?

namespace IndiaparinamConsoleApplication
{ 
    class A
    {
        public void fun()
        {
            Console.Write("Welcome");
        } 
    } 
    class B: A
    {
        public void fun()
        {
            // [*** Add statement here ***]
            Console.WriteLine(" to Indiaparinam.com!");
        } 
    } 
    class MyProgram
    { 
        static void Main (string[ ] args)
        { 
            B b = new B(); 
            b.fun();
        } 
    } 
}


A). base.fun();
B). A::fun();
C). fun();
D). mybase.fun();
E). A.fun();
Answer : Option A

Question 6 :

What will be the output of the C#.NET code snippet given below?

namespace IndiaparinamConsoleApplication
{ 
    class Baseclass
    { 
        public void fun()
        { 
            Console.Write("Base class" + " ");
        } 
    } 
    class Derived1: Baseclass
    { 
        new void fun()
        {
            Console.Write("Derived1 class" + " "); 
        } 
    } 
    class Derived2: Derived1
    { 
        new void fun()
        { 
            Console.Write("Derived2 class" + " ");
        }
    }
    class Program
    { 
        public static void Main(string[ ] args)
        { 
            Derived2 d = new Derived2(); 
            d.fun(); 
        } 
    } 
}


A). Base class
B). Derived1 class
C). Derived2 class
D). Base class Derived1 class
E). Base class Derived1 class Derived2 class
Answer : Option A

Question 7 :

Which of the following should be used to implement a 'Has a' relationship between two entities?


A). Polymorphism
B). Templates
C). Containership
D). Encapsulation
E). Inheritance
Answer : Option C

Question 8 :

Which of the following is correct about the C#.NET snippet given below?

namespace IndiaparinamConsoleApplication
{ 
    class Baseclass
    { 
        public void fun()
        { 
            Console.WriteLine("Hi" + " ");
        } 
        public void fun(int i)
        {
            Console.Write("Hello" + " ");
        } 
    } 
    class Derived: Baseclass
    {
        public void fun()
        {
            Console.Write("Bye" + " ");
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Derived d; 
            d = new Derived(); 
            d.fun(); 
            d.fun(77);
        } 
    } 
}


A). The program gives the output as: Hi Hello Bye
B). The program gives the output as: Bye Hello
C). The program gives the output as: Hi Bye Hello
D). Error in the program
Answer : Option B

Question 9 :

In an inheritance chain which of the following members of base class are accessible to the derived class members?

1. static
2. protected
3. private
4. shared
5. public


A). 1, 3
B). 2, 5
C). 3, 4
D). 4, 5
Answer : Option B

Question 10 :

Which of the following are reuse mechanisms available in C#.NET?

1. Inheritance
2. Encapsulation
3. Templates
4. Containership
5. Polymorphism


A). 1, 4
B). 1, 3
C). 2, 4
D). 3, 5
Answer : Option A

Question 11 :

Which of the following should be used to implement a 'Like a' or a 'Kind of' relationship between two entities?


A). Polymorphism
B). Containership
C). Templates
D). Encapsulation
E). Inheritance
Answer : Option E

Question 12 :

How can you prevent inheritance from a class in C#.NET ?


A). Declare the class as shadows.
B). Declare the class as overloads.
C). Declare the class as sealed.
D). Declare the class as suppress.
E). Declare the class as override.
Answer : Option C

Explanation :

C#.NET allows sealed attribute to be used as a part of class statement. Classes declared with sealed keyword cannot be used as based class for other classes. Most important reason to do this world be to prevent behavior of a class to be changed in any way.


Question 13 :

Which of the following statements are correct about Inheritance in C#.NET?

1. A derived class object contains all the base class data.
2. Inheritance cannot suppress the base class functionality.
3. A derived class may not be able to access all the base class data.
4. Inheritance cannot extend the base class functionality.
5. In inheritance chain construction of object happens from base towards derived.


A). 1, 2, 4
B). 2, 4, 5
C). 1, 3, 5
D). 2, 4
Answer : Option C

Question 14 :

Assume class B is inherited from class A. Which of the following statements is correct about construction of an object of class B?


A). While creating the object firstly the constructor of class B will be called followed by constructor of class A.
B). While creating the object firstly the constructor of class A will be called followed by constructor of class B.
C). The constructor of only class B will be called.
D). The constructor of only class A will be called.
E). The order of calling constructors depends upon whether constructors in class A and class B are private or public.
Answer : Option B

Question 15 :

Which of the following statements is correct about the C#.NET program given below?

namespace IndiaparinamConsoleApplication
{
    class Baseclass
    { 
        int i;
        public Baseclass(int ii)
        {
            i = ii;
            Console.Write("Base "); 
        } 
    } 
    class Derived : Baseclass
    {
        public Derived(int ii) : base(ii)
        {
            Console.Write("Derived ");
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Derived d = new Derived(10);
        } 
    } 
}


A). The program will work correctly only if we implement zero-argument constructors in Baseclass as well as Derived class.
B). The program will output: Derived Base
C). The program will report an error in the statement base(ii).
D). The program will work correctly if we replace base(ii) with base.Baseclass(ii).
E). The program will output: Base Derived
Answer : Option E