What are proxy objects?
Answers were Sorted based on User's Feedback
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 |
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 |
How the V-Table mechanism works?
What are iterators in c++?
Is it possible to get the source code back from binary file?
What are advantages of C++ when comparing with C?
18 Answers HP, iGate, TCS,
If dog is a friend of boy and boy is a friend of house, is dog a friend of house?
What does flush do c++?
What is a lambda function c++?
How do you clear a map in c++?
How can I improve my c++ skills?
Is c++ a good first language to learn?
What is an iterator class in c++?
Why is that unsafe to deal locate the memory using free( ) if it has been allocated using new?