mystream.h

来自「国外网站上的一些精典的C程序」· C头文件 代码 · 共 93 行

H
93
字号
// Mystream.h// iostream interface for class Myio// Defines the following classes://  Mystreambuf     derived from streambuf - buffer management & I/O interface//  Mystreambase    base class used for initialisation & object reference//  Myiostream      customised iostream, derived from iostream/Mystreambase//// Written by David L Nugent, June 1993//# if !defined(_Mystream_h)# define _Mystream_h 1# include <iostream.h># include "Myio.h"    //    // Mystreambuf    // This is the class which does all the actual I/O    // handling and (optional) buffer management    //class Mystreambuf : public streambuf{  public:    Mystreambuf (Myio * mPtr);  protected:    virtual int overflow (int = EOF);    virtual int underflow ();    virtual int sync ();  private:    Myio * mptr;    // Points to the Myio instance to                    // which this stream is attached    char _back[2];  // Holder for putback};class Mystreambase : public virtual ios{  public:    Mystreambase (Myio * mPtr);    Mystreambuf * rdbuf (void);  protected:    Mystreambuf mystreambuf;};inlineMystreambase::Mystreambase (Myio * mPtr)    : mystreambuf (mPtr){}inline Mystreambuf *Mystreambase::rdbuf (void)    {   return &mystreambuf;    }class Mystream : public Mystreambase, public iostream{  public:    Mystream (Myio * mPtr);    ~Mystream (void);};    //    // class Mystream constructor    // This uses Mystreambase to set up the Mystreambuf    // which can then be used to initialise iostream.    //inlineMystream::Mystream (Myio * m)    : Mystreambase (m), iostream (rdbuf()){}inlineMystream::~Mystream (void)    {}# endif     // _Mystream_h

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?