Tuesday, 13 December 2011

13. Which of the following will be the correct output for the C#.NET program given below?

namespace IndiabixConsoleApplication
{
    class Sample
    {
        int i;
        Single j;
        public void SetData(int i, Single j)
        {
            this.i = i;
            this.j = j;
        }
        public void Display()
        {
            Console.WriteLine(i + " " + j);
        }
    }
    class MyProgram
    {
        static void Main(string[ ] args)
        {
            Sample s1 = new Sample();
            s1.SetData(36, 5.4f);
            s1.Display();
        }
    }
}
A. 0 0.0
B. 36 5.4
C. 36 5.400000
D. 36 5
E. None of the above
Answer: Option B

12. Which of the following statements are correct about the this reference?

1. this reference can be modified in the instance member function of a class.
2. Static functions of a class never receive the this reference.
3. Instance member functions of a class always receive a this reference.
4. this reference continues to exist even after control returns from an instance member function.
5. While calling an instance member function we are not required to pass thethis reference explicitly.
A. 1, 4
B. 2, 3, 5
C. 3, 4
D. 2, 5
E. None of these
Answer: Option B

12. Which of the following statements are correct about the this reference?

1. this reference can be modified in the instance member function of a class.
2. Static functions of a class never receive the this reference.
3. Instance member functions of a class always receive a this reference.
4. this reference continues to exist even after control returns from an instance member function.
5. While calling an instance member function we are not required to pass thethis reference explicitly.
A. 1, 4
B. 2, 3, 5
C. 3, 4
D. 2, 5
E. None of these
Answer: Option B

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

int i;
int j = new int();
i = 10;
j = 20;
String str;
str = i.ToString();
str = j.ToString();
A.This is a perfectly workable code snippet.
B.Since int is a primitive, we cannot use new with it.
C.Since an int is a primitive, we cannot call the method ToString() using it.
D.i will get created on stack, whereas j will get created on heap.
E.Both i and j will get created on heap.
Answer: Option A

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

sample c;
c = new sample();
1.It will create an object called sample.
2.It will create a nameless object of the type sample.
3.It will create an object of the type sample on the stack.
4.It will create a reference c on the stack and an object of the type sample on the heap.
5.It will create an object of the type sample either on the heap or on the stack depending on the size of the object.
A.1, 3
B.2, 4
C.3, 5
D.4, 5
E.None of these
Answer: Option B

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

namespace IndiabixConsoleApplication
{
    class Sample
    {
        public int index;
        public int[] arr = new int[10];
       
        public void fun(int i, int val)
        {
            arr[i] = val;
        }
    }
    
    class MyProgram
    {
        static void Main(string[] args)
        {
            Sample s = new Sample();
            s.index = 20;
            Sample.fun(1, 5);
            s.fun(1, 5);
        }
    }
}
A.s.index = 20 will report an error since index is public.
B.The call s.fun(1, 5) will work correctly.
C.Sample.fun(1, 5) will set a value 5 in arr[ 1 ].
D.The call Sample.fun(1, 5) cannot work since fun() is not a shared function.
E.arr being a data member, we cannot declare it as public.
Answer: Option B

8. Which of the following statements are correct?

1.Data members ofa class are by default public.
2.Data members of a class are by default private.
3.Member functions ofa class are by default public.
4.A private function of a class can access a public function within the same class.
5.Member function of a class are by default private.
A. 1, 3, 5
B. 1, 4
C. 1, 4, 5
D. 1, 2, 3
E. None of these
Answer: Option C