3i Infotech Papers: Sample Questions 661 - 662 of 1245

Examrace Placement Series prepares you for the toughest placement exams to top companies.

Question number: 661

» Languages » C & C Plus Plus

Essay Question▾

Describe in Detail

What is the output of the following program?

  1. #include <stdio.h>
  2. main ()
  3. {
  4.     const int i = 4;
  5.     float j;
  6.     j = + + i;
  7.     printf ( “%d %f” i, ++ j);
  8. }

Explanation

Compiler error

  • In the program

Table shows the program

Table shows the program

const int i = 4;

Given the constant integer i = 4

float j;

Given Floating variable j

j =+ + i;

  • Here change the value if I but I is a constant

  • Cannot change the value of constant

  • So the answer is compiler error.

Question number: 662

» Languages » C & C Plus Plus

Essay Question▾

Describe in Detail

What are proxy objects?

Explanation

  • Objects that stand for other objects are called proxy objects or surrogates. Example: template class Array2D {public: class Array1D {public: T& operator [] (int index); const T& operator [] (int index) const; …}; Array1D operator [] (int index); const Array1D operator [] (int index) const; …}; The following then becomes legal: Array2Ddata (10,20); …. .

  • Here data [3] yields an Array1D object and the operator [] invocation on that object yields the float in position (3,6) of the original two dimensional array.

  • Clients of the Array2D class need not be aware of the presence of the Array1D class.

  • Objects of this latter class stand for one-dimensional array objects that, conceptually, do not exist for clients of Array2D.

  • Such clients work as if they were using real, live, two-dimensional arrays.

  • Each Array1D object stands for a one-dimensional array absent from a conceptual model used by the clients of Array2D.

  • In the above example, Array1D is a proxy class.

  • Its instances stand for one-dimensional arrays that, conceptually, do not exist.