?????????????????????????У?

class stream
{
public:
    stream(){cout<<"stream::stream()!"<<endl;}
};

class iistream:public stream
{
public:
    iistream(){cout<<"istream::istream()!"<<endl;}
};

class oostream:public stream
{
public:
    oostream(){cout<<"ostream::ostream()!"<<endl;}
};

class iiostream:virtual iistream??virtual oostream
{
public:
    iiostream(){cout<<"iiostream::iiostream()!"<<endl;}
};

int main(int argc?? const char * argv[])
{
    iiostream oo;
};

???????????????

????stream::stream()!
????istream::istream()!
????stream::stream()!
????ostream::ostream()!
????iiostream::iiostream()!

??????????????????乹?????????????????stream??????????????????д??????е????????н????

????stream              stream
????                     /
????istream    ostream
????                   /
????iiostream

???????н?????????????iiostream??????????stream?е????????????·??????????????iiostream????????????л??? istream??ostream??vptr???? istream??ostream??????stream???????????iiostream?????????????????stream????????????????????????vptr????????ó?????????????????????????

class stream
{
   void f(){cout<<"here!"<<endl;}
}
main()
{
  iiostream ii??
  ii.f();
}