1  struct VBase
       2  {
       3    virtual void f () {}
       4    VBase();
       5    ~VBase();
       6  };
       7  
       8  struct  StreamBase 
       9  {
      10    virtual ~StreamBase() {}
      11  };
      12  
      13  struct  Stream : public virtual VBase, public StreamBase
      14  {
      15    Stream();
      16    virtual ~Stream() {} 
      17  };
      18  
      19  struct DerivedStream : public Stream
      20  {
      21    DerivedStream();
      22  };