⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 20000916020.htm

📁 C++ Builder学习中文版,让学者对其有一定的理解.
💻 HTM
字号:
<HTML>

<HEAD>

 

<TITLE>在 C++Builder 中,如何实现流类的版本控制 ?</TITLE>



<META content="MSHTML 5.00.2314.1000" name=GENERATOR>

</HEAD>

<BODY aLink=#FF0000 bgColor=#ffffff leftMargin=0 link=#187800 topMargin=0 

vLink=#990099>



<div align="center">

  <table width="744" border="0" cellspacing="0" cellpadding="0" height="76">

    <tr> 

      <td> 

        <p align="center"><font size="3"><br>

          <b>在 C++Builder 中,如何实现流类的版本控制 ?</b></font></p>

        <p align="left">要使一个类成为流类,首先应为该类定义两个成员函数SaveToStream 和 LoadFromStream,

          然后在这两个函数内考虑流的版本。示例如下: 

        <p align="left">class TSome{<br>

        <dir> 

          <div align="left">private:<br>

            &nbsp;int num;<br>

            &nbsp;double sum;<br>

            public:<br>

            &nbsp;void SaveToStream(TStream*stream)<br>

            &nbsp;{//函数中代码需要参见<br>

          </div>

          <dir> 

            <div align="left">TDataIO &lt; int &gt; (0x10001) &gt;&gt; stream;//存储版本号1.1<br>

              TDataIO &lt; int &gt; (num) &gt;&gt; stream;//存储num<br>

              TDataIO &lt; double &gt; (sum) &gt;&gt; stream;//存储sum<br>

            </div>

          </dir>

          <div align="left">&nbsp;} </div>

          <p align="left">&nbsp;void LoadFromStream(TStream*stream)<br>

            &nbsp;{<br>

          <dir> 

            <div align="left">int ver=TDataIO &lt; int &gt; ( ) &lt;&lt; stream;//读取版本号<br>

              if(ver==0x10001){<br>

            </div>

            <dir> 

              <div align="left">num=TDataIO &lt; int &gt; ( ) &lt;&lt; stream;//读取num<br>

                sum=TDataIO &lt; double &gt; ( ) &lt;&lt; stream;//读取sum<br>

              </div>

            </dir>

            <div align="left">}else if(ver==0x10002){<br>

            </div>

            <dir> 

              <div align="left">//这里处理另一版本....<br>

              </div>

            </dir>

            <div align="left">}//end if-else<br>

            </div>

          </dir>

          <div align="left">&nbsp;}//end LoadFrom... </div>

          <p align="left">&nbsp;//类中其它代码 ...<br>

          </p>

        </dir>

        <div align="left">};//end class<br>

          <font color=#008000>当类中的成员有变动时,只需为相应的变动作记载,并赋予一个内部版本号, 在i/o函数中为每个内部版本提供读取/存储代码即可。</font></div>

            </td>

    </tr>

  </table>

 

</div>

</BODY></HTML>

⌨️ 快捷键说明

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