>896
正直なところ、
CArchiveStreamの実装が単純なCArchiveとCStreamからの横流しで
できるようなものなのかが疑問だが(それ故の多重継承じゃないのか?)

1.いちいち定義
class CArchiveStream : public IArchiveStream
{
private:
CArchive<IArchive> a;
CStream<IStream> s;
}
2.多重継承なインターフェイスが悪い
interface IArchiveStream
{
virtual IArchive &GetIArchive() = 0;
virtual IStram &GetIStream() = 0;
}