next up previous
Next: S.1.18 Passing pointers Up: Scanner Bugs Previous: S.1.16 Side Effects

S.1.17 Public data members and friend functions

added 8.6.95. Jonathan Poole.

The way that the active objects work is that there is a proxy object on the local machine that catches any member function calls and redirects them to the remote (server) machine where the member functions are called on the real object. There is a problem with this though: that objects in C++ do not communicate with other objects only through member functions. If we consider only how a particular object changes state or is caused to perform an action there may be three ways:

  1. through a member function call. This is handled by UC++
  2. through a friend function. Not clear if this is handled by UC++.
  3. through a public data member. Giving access to such data members is of course bad programming practice but does take place in practical programs.

How do we trap these other means of accessing a class? If we can't we need to document it.

Jonathan Poole
Tue Jun 27 16:38:45 BST 1995