logo

CuriousTab

CuriousTab

Classes and Objects problems


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

    namespace CuriousTabConsoleApplication
    { 
        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); 
            } 
        } 
    }

  • Options
  • 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.
  • Discuss
  • 2. 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 of a 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.

  • Options
  • A. 1, 3, 5
  • B. 1, 4
  • C. 2, 4, 5
  • D. 1, 2, 3
  • E. None of these
  • Discuss
  • 3. Which of the following statements is correct?

  • Options
  • A. Procedural Programming paradigm is different than structured programming paradigm.
  • B. Object Oriented Programming paradigm stresses on dividing the logic into smaller parts and writing procedures for each part.
  • C. Classes and objects are corner stones of structured programming paradigm.
  • D. Object Oriented Programming paradigm gives equal importance to data and the procedures that work on the data.
  • E. C#.NET is a structured programming language.
  • Discuss
  • 4. 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();

  • Options
  • 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.
  • Discuss
  • 5. The this reference gets created when a member function (non-shared) of a class is called.

  • Options
  • A. True
  • B. False
  • Discuss
  • 6. Which of the following statements are correct about the C#.NET code snippet given below?

    namespace CuriousTabConsoleApplication
    { 
        class Sample
        { 
            int i, j; 
            public void SetData(int ii, int jj)
            {
                this.i = ii;
                this.j = jj 
            } 
        } 
        class MyProgram
        { 
            static void Main(string[ ] args)
            { 
                Sample s1 = new Sample(); 
                s1.SetData(10, 2); 
                Sample s2 = new Sample(); 
                s2.SetData(5, 10); 
            } 
        } 
    }

  • Options
  • A. The code will not compile since we cannot explicitly use this.
  • B. Using this in this program is necessary to properly set the values in the object.
  • C. The call to SetData() is wrong since we have not explicitly passed the this reference to it.
  • D. The definition of SetData() is wrong since we have not explicitly collected the this reference.
  • E. Contents of this will be different during each call to SetData().
  • Discuss
  • 7. Which of the following is the correct way to create an object of the class Sample?

    1. Sample s = new Sample();
    2. Sample s;
    3. Sample s; s = new Sample();
    4. s = new Sample();

  • Options
  • A. 1, 3
  • B. 2, 4
  • C. 1, 2, 3
  • D. 1, 4
  • E. None of these
  • Discuss
  • 8. Which of the following statements is correct about the C#.NET code snippet given below?

    class Sample
    {
        private int i;
        public Single j;
        private void DisplayData()
        {
            Console.WriteLine(i + " " + j);
        }
        public void ShowData()
        {
            Console.WriteLine(i + " " + j);
        }
    }

  • Options
  • A. j cannot be declared as public.
  • B. DisplayData() cannot be declared as private.
  • C. DisplayData() cannot access j.
  • D. ShowData() cannot access to i.
  • E. There is no error in this class.
  • Discuss
  • 9. Which of the following statements are correct about objects of a user-defined class called Sample?

    1. All objects of Sample class will always have exactly same data.
    2. Objects of Sample class may have same or different data.
    3. Whether objects of Sample class will have same or different data depends upon a Project Setting made in Visual Studio.NET.
    4. Conceptually, each object of Sample class will have instance data and instance member functions of the Sample class.
    5. All objects of Sample class will share one copy of member functions.

  • Options
  • A. 1, 3
  • B. 2, 4
  • C. 4, 5
  • D. 3, 5
  • E. None of these
  • Discuss
  • 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.

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

First 2