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

📄 book_text8.htm

📁 深入编程内幕vc++ 非常适合处学者学习
💻 HTM
📖 第 1 页 / 共 5 页
字号:
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple; mso-outline-level: 1"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
            </SPAN>CObject::Serialize(ar);<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black">&nbsp;<O:P> 
            </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>if (ar.IsStoring())<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>{<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>ar&lt;&lt;m_x1&lt;&lt;m_y1;<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>ar&lt;&lt;m_x2&lt;&lt;m_y2;<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>}<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>else<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>{<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>ar&gt;&gt;m_x1&gt;&gt;m_y1;<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>ar&gt;&gt;m_x2&gt;&gt;m_y2;<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>}<O:P> </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black">&nbsp;<O:P> 
            </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; BACKGROUND: #d9d9d9; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-shading: white; mso-pattern: gray-15 black">}<O:P> 
            </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; TEXT-INDENT: 20pt; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'MS Sans Serif'">首先调用基类的</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt">Serialize</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'MS Sans Serif'">函数,<SPAN 
            lang=EN-US>CObject::Serialize(ar);然后判断是保存数据还是载入数据,然后再根据判断的结果进行实际的存取工作。这里ar就是框架程序传递给序列化函数的归档对象指针。</SPAN></SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt"><O:P> 
            </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'MS Sans Serif'"><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
            </SPAN>当调用完基类的序列化函数后,判断ar的状态,当ar.IsStoring()返回真时,这时进行数据保存;</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">当</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; COLOR: black; mso-bidi-font-size: 10.0pt">ar.IsStoring()</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">返回非真时,这时</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; COLOR: black; mso-bidi-font-size: 10.0pt">CArchive 
            </SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">对象要求读取数据。</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; COLOR: black; mso-bidi-font-size: 10.0pt"><O:P> 
            </O:P></SPAN></P>
            <H4 style="mso-line-height-alt: 1.3pt"><SPAN lang=EN-US 
            style="FONT-FAMILY: 宋体; mso-hansi-font-family: Arial">3 使用操作符<SPAN 
            style="mso-tab-count: 1">&nbsp; </SPAN>存取数据<SPAN 
            style="mso-tab-count: 1"> </SPAN><SPAN 
            style="COLOR: blue"><O:P></O:P></SPAN></SPAN></H4>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; TEXT-INDENT: 21.25pt; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">在上面的代码中我们用到了</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt">&gt;&gt;</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">和</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt">&lt;&lt;</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">,在这里对它们作一个介绍</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'MS Sans Serif'">,<SPAN 
            lang=EN-US>&gt;&gt;和&lt;&lt;是一种操作符,用来指示向CArchive对象读取还是保存数据,必要时我们可以重载重定向符。如ar&gt;&gt;m_x1&gt;&gt;m_y1;这一句,其中&gt;&gt;表示从ar中读出数据m_x1,m_y2,这个符号及&gt;&gt;可以连用,亦可以分开来用,如ar&gt;&gt;m_x1;ar&gt;&gt;m_y1;同样ar&lt;&lt;m_x1&lt;&lt;m_y1;中的&lt;&lt;是把数据存入ar中。</SPAN></SPAN><B 
            style="mso-bidi-font-weight: normal"><SPAN lang=EN-US 
            style="FONT-SIZE: 10.5pt; COLOR: blue; mso-bidi-font-size: 10.0pt"><O:P> 
            </O:P></SPAN></B></P>
            <H4 style="mso-line-height-alt: 1.3pt"><SPAN lang=EN-US 
            style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'MS Sans Serif'">4 
            文档对象序列化</SPAN><SPAN lang=EN-US 
            style="FONT-FAMILY: 宋体; mso-hansi-font-family: Arial"><O:P> 
            </O:P></SPAN></H4>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; TEXT-INDENT: 20pt; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'MS Sans Serif'"><SPAN 
            style="mso-spacerun: yes">&nbsp;</SPAN>在对直线对象进行序列化函数处理之后,接下来,我们对文档类进行改写,首先实现文档类的序列化函数。双击WorkSpace中CDrawLineDoc类Serialize函数打开它,文档类的Serialize函数是个虚拟成员函数的,其缺省实现是不做任何工作的。</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; mso-bidi-font-size: 10.0pt"><O:P> 
            </O:P></SPAN></P>
            <P class=MsoNormal 
            style="WORD-BREAK: break-all; TEXT-INDENT: 24pt; mso-line-height-alt: 1.3pt; punctuation-wrap: simple"><SPAN 
            style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'MS Sans Serif'">我们再来看文档类的序列化函数,</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; COLOR: black; mso-bidi-font-size: 10.0pt">CDrawLineDoc</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">类的序列化函数主要是对</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 10.5pt; COLOR: black; mso-bidi-font-size: 10.0pt">CLine</SPAN><SPAN 
            style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'">类对象的序列

⌨️ 快捷键说明

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