ssimmons@convex.com (Steve Simmons) (02/26/91)
	I've run across the following problem for defining an interface
	for a base class.  Essentially, I need to create a function 
	with the following behavior....
		int BaseClass::function(BaseClass** parm);
	The problem is that there in an intention to derive other classes
	from this base class.  Therefore, if I were to make the following
	declaration...
		class DerivedClass : public BaseClass {} 
		DerivedClass *instance;
	I would need to make the following cast in the call to the 
	inherited member...
		instance->function((BaseClass**) &instance);
	In fact, I cannot even use this base class as part of 
	a multi-inherited chain... Is there a decent work around
	so that this cast is not necessary???  Is it a weakness in 
	the language??? I've noticed that the NIH uses a castdown
	mechanism and is this the best that we can do??? 
	Thank you. 
						Steve Simmons