• Constructors - General Questions
1. 

Which of the following statements is correct?

A. A constructor can be used to set default values and limit instantiation.
B. C# provides a copy constructor.
C. Destructors are used with classes as well as structures.
D. 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 IndiabixConsoleApplication
{ 
    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(); 
        } 
    } 
}

A. func() is a valid overloaded function.
B. Overloading works only in case of subroutines and not in case of functions.
C. func() cannot be considered overloaded because: return value cannot be used to distinguish between two overloaded functions.
D. The call to i = s1.func() will assign 1 to i.
E. The call j = s1.func() will assign 2.4 to j.

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;
    } 
}

A. Sample s1 = new Sample();
B. Sample s1 = new Sample(10);
C. Sample s2 = new Sample(10, 1.2f);
D. Sample s3 = new Sample(10, 1.2f, 2.4);
E. Sample s1 = new Sample(, , 2.5);

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.

A. 1, 2, 4
B. 2, 3, 5
C. 3, 4
D. 4, 5
E. None of these

5. 

Which of the following statements is correct about constructors?

A. If we provide a one-argument constructor then the compiler still provides a zero-argument constructor.
B. Static constructors can use optional arguments.
C. Overloaded constructors cannot use optional arguments.
D. If we do not provide a constructor, then the compiler provides a zero-argument constructor.