C# Classes and Objects Mcqs

Our collections of Multiple choice questions and answers focuses on study of C# Classes and Objects. These questions are chosen from a collection of most authoritative and best reference books on C# Classes and Objects. Our aim is to prepare an individual for competitive exams like NTS, GAT, ECAT, University and College entrance exams and various tests and job interviews. One should practice our Mcqs to assimilate C# Classes and Objects comprehensively.

1.
Which of the following statements is correct?

A constructor can be used to set default values and limit instantiation.

C# provides a copy constructor.

Destructors are used with classes as well as structures.

A class can have more than one destructor.

2.
Which of the following statements is correct about the C#.NET code snippet given below?
namespace ConsoleApplication
{ 
    class Sample
    { 
        public int func()
        {
            return 1;
        } 
        public Single func()
        { 
            return 2.4f ;
        } 
    } 
    class Program
    { 
        static void Main(string[ ] args)
        {
            Sample s1 = new Sample(); 
            int i;
            i = s1.func(); 
            Single j; 
            j = s1.func(); 
        } 
    } 
}

Func() is a valid overloaded function.

Overloading works only in case of subroutines and not in case of functions.

Func() cannot be considered overloaded because: return value cannot be used to distinguish between two overloaded functions.

The call to i = s1.func() will assign 1 to i.

3.
Which of the following ways to create an object of the Sample class given below will work correctly?
class Sample
{
    int i;
    Single j;
    double k;
    public Sample (int ii, Single jj, double kk)
    {
        i = ii;
        j = jj;
        k = kk;
    } 
}

Sample s1 = new Sample();

Sample s1 = new Sample(10);

Sample s2 = new Sample(10, 1.2f);

Sample s3 = new Sample(10, 1.2f, 2.4);

4.
Which of the following statements are correct about static functions?

1. Static functions can access only static data.
2. Static functions cannot call instance functions.
3. It is necessary to initialize static data.
4. Instance functions can call static functions and access static data.
5. this reference is passed to static functions.

1, 2, 4

2, 3, 5

3, 4

4, 5

5.
Which of the following statements is correct about constructors?

If we provide a one-argument constructor then the compiler still provides a zero-argument constructor.

Static constructors can use optional arguments.

Overloaded constructors cannot use optional arguments.

If we do not provide a constructor, then the compiler provides a zero-argument constructor.

6.
Which of the following is the correct way to define the constructor(s) of the Sample class if we are to create objects as per the C#.NET code snippet given below?
Sample s1 = new Sample(); 
Sample s2 = new Sample(9, 5.6f);

Public Sample()
{   i = 0,   j = 0.0f; }
public Sample (int ii, Single jj)
{ i = ii;  j = jj;}

Public Sample (Optional int ii = 0, Optional Single jj = 0.0f)
{   i = ii;   j = jj; }

Public Sample (int ii; Single jj)
{   i = ii;   j = jj; }

Sample s,

7.
In which of the following should the methods of a class differ if they are to be treated as overloaded methods?

1. Type of arguments
2. Return type of methods
3. Number of arguments
4. Names of methods
5. Order of arguments

2, 4

3, 5

1, 3, 5

3, 4, 5

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

1. Constructors cannot be overloaded.
2. Constructors always have the name same as the name of the class.
3. Constructors are never called explicitly.
4. Constructors never return any value.
5. Constructors allocate space for the object in memory.

1, 3, 5

2, 3, 4

3, 5

4, 5

9.
How many times can a constructor be called during lifetime of the object?

As many times as we call it.

Only once.

Depends upon a Project Setting made in Visual Studio.NET.

Any number of times before the object gets garbage collected.

10.
Which of the following statements are correct about the C#.NET code snippet given below?
class Sample
{
    static int i;
    int j;
    public void proc1()
    {
        i = 11; 
        j = 22;
    }
    public static void proc2()
    {
        i = 1;
        j = 2;
    }
    static Sample()
    {
        i = 0; 
        j = 0;
    }
}

I cannot be initialized in proc1().

Proc1() can initialize i as well as j.

J can be initialized in proc2().

The constructor can never be declared as static.

11.
Which of the following statements is correct?

There is one garbage collector per program running in memory.

There is one common garbage collector for all programs.

An object is destroyed by the garbage collector when only one reference refers to it.

We have to specifically run the garbage collector after executing Visual Studio.NET.

12.
Which of the following statements are correct about static functions?

Static functions are invoked using objects of a class.

Static functions can access static data as well as instance data.

Static functions are outside the class scope.

Static functions are invoked using class.

13.
What will be the output of the C#.NET code snippet given below?
namespace McqsMentorConsoleApplication
{ 
    class Sample
    { 
        static Sample()
        { 
            Console.Write("Sample class ");
        }
        public static void Bits1()
        { 
            Console.Write("Bits1 method ");
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Sample.Bits1();
        } 
    } 
}

Sample class Bits1 method

Bits1 method

Sample class

Bits1 method Sample class

14.
Which of the following statements is correct about constructors in C#.NET?

A constructor cannot be declared as private.

A constructor cannot be overloaded.

A constructor can be a static constructor.

A constructor cannot access static data.

15.
What will be the output of the C#.NET code snippet given below?
namespace McqsMentorConsoleApplication
{
    class Sample
    { 
        public static void fun1()
        { 
            Console.WriteLine("Bits1 method");
        }
        public void fun2()
        { 
            fun1(); 
            Console.WriteLine("Bits2 method");
        }
        public void fun2(int i)
        { 
            Console.WriteLine(i);
            fun2(); 
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Sample s = new Sample(); 
            Sample.fun1(); 
            s.fun2(123);
        } 
    } 
}

Bits1 method
123
Bitsl method
Bits2 method

Bits1 method
123
Bits2 method

Bits2 method
123
Bits2 method
Bitsl method

Bitsl method
123

0Shares
0
Scroll to Top