What are proxy objects?

Answers were Sorted based on User's Feedback



What are proxy objects?..

Answer / harendra pal

Objects that stand for other objects are called proxy objects or surrogates.
Example:
template<class T>
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:
Array2D<float>data(10,20);
........
cout<<data[3][6]; // fine

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 program as if they were using real, live, two-dimensional arrays. Each Array1D object stands for a one-dimensional array that is 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.

Is This Answer Correct ?    0 Yes 0 No

What are proxy objects?..

Answer / harendra pal

Objects that points to other objects are called proxy objects or surrogates. Its an object that provides the same interface as its server object but does not have any functionality. During a method invocation, it routes data to the true server object and sends back the return value to the object.

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More C++ General Interview Questions

Can you write a function similar to printf()?

0 Answers  


Will a C compiler always compile C++ code a) Yes b) No c) Only optimized compilers

0 Answers  


Explain the use of virtual destructor?

0 Answers  


What relational operators if statements in c++?

0 Answers  


What is lambda in c++?

0 Answers  






What is time h in c++?

0 Answers  


Write a C/C++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the maximum number of concurrent threads that the InnoDB plug-in can create

0 Answers  


What is #include iomanip?

0 Answers  


List the advantages of inheritance.

0 Answers  


Specify different types of decision control statements?

0 Answers  


What is meant by entry controlled loop?

0 Answers   Agilent, ZS Associates,


How to avoid changing constant values?

2 Answers   Symphony,


Categories