Task

Demonstrate how to make the object respond (sensibly/usefully) to an invocation of a method on it that it does not support through its class definitions.

Note that this is not the same as just invoking a defined method whose name is given dynamically; the method named at the point of invocation must not be defined.

This task is intended only for object systems that use a dynamic dispatch mechanism without static checking.



Related task

   Send an unknown method call.


class animal {
public:
  virtual void bark() // concrete virtual, not pure
  {
    throw "implement me: do not know how to bark";
  }
};
 
class elephant : public animal // does not implement bark()
{
};
 
int main()
{
  elephant e;
  e.bark();  // throws exception
}
 