Home / C# Programming / Constructors :: General Questions

C# Programming :: Constructors

  1. Which of the following statements is correct?

  2. 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.

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

    
    namespace FreshergateConsoleApplication {  
        class Sample    
        {       
           public int func()     
           {           
              return 1;        
           }        
           public Single func()        
           {          
              return 2.4f ;   
           }
     
          }   
          class Program    
          {       
             static void Main(string[ ] ars)         
             {       
                 Sample s1 = new Sample();              
                 int i;       
                 i = s1.func();              
                 Single j;        
                 j = s1.func();     
          }    
       } 
     }
    

  4. 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.


  5. 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;      
             kk= kk;    
         }
      }

     

  6. 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);


  7. 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.

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

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

  10. 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.

  11. 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);

     

  12. A.
    
      public Sample()
      {   
           i = 0;   
           j = 0.0f;
       } 
       public Sample (int ii, Single jj) 
       {
           i = ii; 
           j = jj;
       }
    B.
    public Sample (Optional int ii = 0, Optional Single jj = 0.0f)
     {    
          i = ii;   
          j = jj; 
     }
    C.
     public Sample (int ii, Single jj)
     {   
          i = ii;    
          j = jj; 
     }

     

    D.
    Sample s;
    E.
    s = new Sample();

  13. 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

  14. A.
    2, 4
    B.
    3, 5
    C.
    1, 3, 5
    D.
    3, 4, 5

  15. Can static procedures access instance data?

  16. A.
    Yes
    B.
    No

  17. 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.

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

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

  20. A.
    As many times as we call it.
    B.
    Only once.
    C.
    Depends upon a Project Setting made in Visual Studio.NET.
    D.
    Any number of times before the object gets garbage collected.
    E.
    Any number of times before the object is deleted.