﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-&lt;font size=6 color="black"&gt;je pense, donc je suis&lt;/font&gt;</title><link>http://www.cppblog.com/zytoftuncun/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 03 Apr 2026 21:05:15 GMT</lastBuildDate><pubDate>Fri, 03 Apr 2026 21:05:15 GMT</pubDate><ttl>60</ttl><item><title>最近有点浮躁</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/08/05/29396.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Sun, 05 Aug 2007 11:22:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/08/05/29396.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/29396.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/08/05/29396.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/29396.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/29396.html</trackback:ping><description><![CDATA[&nbsp; 原本想学MFC，在网上查着查着就被新的技术拉着鼻子走了。尤其是微软的新技术，吸引力可真够大的。.net wpf silverlight都是很炫的。再听到MFC过时的言论，难免有点心荒荒的，静下来想想，学MFC也没啥不好的，算法导论和TC++PL还得继续看，MFC也继续看，毕竟这个东西已经很完善的，虽然复杂点，但研究研究总有收获的，那些控件拖来拖去确实让人很爽，但不明白道理还是让人很不踏实。所以想来是自己浮躁了，给自己敲敲警钟，继续前行
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/29396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-08-05 19:22 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/08/05/29396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GUI何去何从之WxWigets入门 </title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/27/28865.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Fri, 27 Jul 2007 07:55:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/27/28865.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/28865.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/27/28865.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/28865.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/28865.html</trackback:ping><description><![CDATA[&nbsp;
<p><span>由于<span>SmartWin</span>岁数尚轻，网路上资料并不多，只能看着文档摸索。因此要轻松学习是相当困难的，不过有个设计<span>GUI</span>的可视化环境叫<span>Sally</span>的，俺上<span>sourceforge</span>上下载结果网页出错，正当十分泄气之时，俺瞥见了<span>WxWigets</span>，也是相当好玩的。于是迫不及待的下载下来安装上，呵呵。一查网上资料还真挺丰富的，起码有本权威一点的指导书《使用<span>WxWigets</span>跨平台<span>GUI</span>设计》，呵呵，最可喜的是居然俺一直在用的<span>Dev-C++</span>有一个兄弟<span>Wx Dev-C++</span>，用他来设计是相当不错的。<br><img style="WIDTH: 830px; HEIGHT: 489px" height=489 alt="" src="http://www.cppblog.com/images/cppblog_com/zytoftuncun/wx.PNG" width=830 border=0><span style="BACKGROUND-COLOR: #008000"><br></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt">生成的代码<o:p></o:p></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;HTMLEditorFrm::CreateGUIControls()<br><img id=Codehighlighter1_40_1232_Open_Image onclick="this.style.display='none'; Codehighlighter1_40_1232_Open_Text.style.display='none'; Codehighlighter1_40_1232_Closed_Image.style.display='inline'; Codehighlighter1_40_1232_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_40_1232_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_40_1232_Closed_Text.style.display='none'; Codehighlighter1_40_1232_Open_Image.style.display='inline'; Codehighlighter1_40_1232_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_40_1232_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_40_1232_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Do&nbsp;not&nbsp;add&nbsp;custom&nbsp;code&nbsp;between<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">GUI&nbsp;Items&nbsp;Creation&nbsp;Start&nbsp;and&nbsp;GUI&nbsp;Items&nbsp;Creation&nbsp;End<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">wxDev-C++&nbsp;designer&nbsp;will&nbsp;remove&nbsp;them.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Add&nbsp;the&nbsp;custom&nbsp;code&nbsp;before&nbsp;or&nbsp;after&nbsp;the&nbsp;blocks</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_222_250_Open_Image onclick="this.style.display='none'; Codehighlighter1_222_250_Open_Text.style.display='none'; Codehighlighter1_222_250_Closed_Image.style.display='inline'; Codehighlighter1_222_250_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_222_250_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_222_250_Closed_Text.style.display='none'; Codehighlighter1_222_250_Open_Image.style.display='inline'; Codehighlighter1_222_250_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_222_250_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_222_250_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">/GUI&nbsp;Items&nbsp;Creation&nbsp;Start</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;WxStatusBar1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;wxStatusBar(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">,&nbsp;ID_WXSTATUSBAR1);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;WxSplitterWindow1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;wxSplitterWindow(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">,&nbsp;ID_WXSPLITTERWINDOW1,&nbsp;wxPoint(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">),&nbsp;wxSize(</span><span style="COLOR: #000000">400</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">99</span><span style="COLOR: #000000">));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;WxSplitterWindow1</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFont(wxFont(</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">,&nbsp;wxSWISS,&nbsp;wxNORMAL,wxNORMAL,&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,&nbsp;wxT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">宋体</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;WxHtmlWindow1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;wxHtmlWindow(WxSplitterWindow1,&nbsp;ID_WXHTMLWINDOW1,&nbsp;wxPoint(</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">),&nbsp;wxSize(</span><span style="COLOR: #000000">185</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">89</span><span style="COLOR: #000000">));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;WxHtmlWindow1</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFont(wxFont(</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">,&nbsp;wxSWISS,&nbsp;wxNORMAL,wxNORMAL,&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,&nbsp;wxT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">宋体</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;WxMenuBar1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;wxMenuBar();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;wxMenu&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">ID_MNU_FILE_1011_Mnu_Obj&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;wxMenu(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ID_MNU_FILE_1011_Mnu_Obj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Append(ID_MNU_OPEN_TCTRL_O_1012,&nbsp;wxT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&amp;Open\tCtrl+O</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">),&nbsp;wxT(</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">),&nbsp;wxITEM_NORMAL);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ID_MNU_FILE_1011_Mnu_Obj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Append(ID_MNU_SAVE_1013,&nbsp;wxT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&amp;Save\tCtrl+S</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">),&nbsp;wxT(</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">),&nbsp;wxITEM_NORMAL);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ID_MNU_FILE_1011_Mnu_Obj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">AppendSeparator();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ID_MNU_FILE_1011_Mnu_Obj</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Append(ID_MNU_EXIT_1016,&nbsp;wxT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">E&amp;xit</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">),&nbsp;wxT(</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">),&nbsp;wxITEM_NORMAL);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;WxMenuBar1</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">Append(ID_MNU_FILE_1011_Mnu_Obj,&nbsp;wxT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&amp;File</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;SetMenuBar(WxMenuBar1);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br><img id=Codehighlighter1_1205_1231_Open_Image onclick="this.style.display='none'; Codehighlighter1_1205_1231_Open_Text.style.display='none'; Codehighlighter1_1205_1231_Closed_Image.style.display='inline'; Codehighlighter1_1205_1231_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1205_1231_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1205_1231_Closed_Text.style.display='none'; Codehighlighter1_1205_1231_Open_Image.style.display='inline'; Codehighlighter1_1205_1231_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1205_1231_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1205_1231_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">/GUI&nbsp;Items&nbsp;Creation&nbsp;End</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;HTMLEditorFrm::OnClose(wxCloseEvent</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">event</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_1284_1298_Open_Image onclick="this.style.display='none'; Codehighlighter1_1284_1298_Open_Text.style.display='none'; Codehighlighter1_1284_1298_Closed_Image.style.display='inline'; Codehighlighter1_1284_1298_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1284_1298_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1284_1298_Closed_Text.style.display='none'; Codehighlighter1_1284_1298_Open_Image.style.display='inline'; Codehighlighter1_1284_1298_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1284_1298_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1284_1298_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Destroy();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_1301_1324_Open_Image onclick="this.style.display='none'; Codehighlighter1_1301_1324_Open_Text.style.display='none'; Codehighlighter1_1301_1324_Closed_Image.style.display='inline'; Codehighlighter1_1301_1324_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1301_1324_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1301_1324_Closed_Text.style.display='none'; Codehighlighter1_1301_1324_Open_Image.style.display='inline'; Codehighlighter1_1301_1324_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1301_1324_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1301_1324_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;WxMemo1Updated<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;HTMLEditorFrm::WxMemo1Updated(wxCommandEvent</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">event</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_1384_1412_Open_Image onclick="this.style.display='none'; Codehighlighter1_1384_1412_Open_Text.style.display='none'; Codehighlighter1_1384_1412_Closed_Image.style.display='inline'; Codehighlighter1_1384_1412_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1384_1412_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1384_1412_Closed_Text.style.display='none'; Codehighlighter1_1384_1412_Open_Image.style.display='inline'; Codehighlighter1_1384_1412_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1384_1412_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1384_1412_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;insert&nbsp;your&nbsp;code&nbsp;here</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_1415_1440_Open_Image onclick="this.style.display='none'; Codehighlighter1_1415_1440_Open_Text.style.display='none'; Codehighlighter1_1415_1440_Closed_Image.style.display='inline'; Codehighlighter1_1415_1440_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1415_1440_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1415_1440_Closed_Text.style.display='none'; Codehighlighter1_1415_1440_Open_Image.style.display='inline'; Codehighlighter1_1415_1440_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1415_1440_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1415_1440_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;Mnuexit1016Click<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;HTMLEditorFrm::Mnuexit1016Click(wxCommandEvent</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">event</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_1502_1542_Open_Image onclick="this.style.display='none'; Codehighlighter1_1502_1542_Open_Text.style.display='none'; Codehighlighter1_1502_1542_Closed_Image.style.display='inline'; Codehighlighter1_1502_1542_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1502_1542_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1502_1542_Closed_Text.style.display='none'; Codehighlighter1_1502_1542_Open_Image.style.display='inline'; Codehighlighter1_1502_1542_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1502_1542_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1502_1542_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;insert&nbsp;your&nbsp;code&nbsp;here</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Destroy();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>&nbsp;&nbsp; <span>虽然没有<span>smartwin</span>通俗易懂，但面对如此好用的工具，还是很有吸引力的。原理也类似，生成框架，对各个属性设置，然后对基于事件驱动的话，每个控件都有一个函数，你可以自己定义动作。</span>
<p><span>Wxwigets</span><span>的帮助文件查找相应的类和函数是很方便的，所以用他来做俺的小玩意还是比较合适的。</span></p>
</span>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/28865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-27 15:55 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/27/28865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GUI何去何从之SmartWin++入门</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/26/28798.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Thu, 26 Jul 2007 01:35:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/26/28798.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/28798.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/26/28798.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/28798.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/28798.html</trackback:ping><description><![CDATA[&nbsp;
<p><span>&nbsp; 侯俊杰弄东西喜欢刮骨掏心，俺真是无语。俺觉得深入浅出<span>MFC</span>俺应该从第三篇开始看，跳过&#8220;勿在浮沙筑高台&#8221;和&#8220;欲善工事先利其器&#8221;，只为玩玩，何必认真！俊杰啊，你这么深做啥呢？老狐狸用的是<span>Visual studio 5.0</span>，俺用<span>2003</span>，应该无大碍的吧。其实俺还是看不惯<span>MFC</span>。昨天老大说了<span>MFC</span>快寿终正寝了，说<span>.net</span>时代，微软自己都把他扔垃圾堆了。还有都<span>WinFX</span>、<span>Avalon</span>时代了，谁还用那个云云，偶的学习动力彻底崩溃。然后看看<span>Qt</span>，是商业的，麻烦的很。于是老大推荐<span>SmartWin++</span>，俺大致看了一个例子，也就是传统意义上的<span>helloworld</span>！感觉还不错，代码挺清楚的。比<span>MFC</span>的使用的一堆变量名好记多了，呵呵，毕竟是轻量级的<span>GUI</span>开发库。反正闲着也是闲着，遂先瞧瞧吧！<br></span></p>
<p><span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;SmartWinMain(&nbsp;Application&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;app&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_39_162_Open_Image onclick="this.style.display='none'; Codehighlighter1_39_162_Open_Text.style.display='none'; Codehighlighter1_39_162_Closed_Image.style.display='inline'; Codehighlighter1_39_162_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_39_162_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_39_162_Closed_Text.style.display='none'; Codehighlighter1_39_162_Open_Image.style.display='inline'; Codehighlighter1_39_162_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_39_162_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_39_162_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HelloWinClass&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;testHello&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;HelloWinClass;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testHello</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">initAndCreate();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;app.run();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>&nbsp; 还是和<span>Windows Api</span>编程一样的额，建立一个全局的对象，然后初始化并创建，创建的时候无非是先<span>creat</span>一个<span>window</span>给各个属性初始化和设计。</span></p>
<p><span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;initAndCreate()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_30_450_Open_Image onclick="this.style.display='none'; Codehighlighter1_30_450_Open_Text.style.display='none'; Codehighlighter1_30_450_Closed_Image.style.display='inline'; Codehighlighter1_30_450_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_30_450_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_30_450_Closed_Text.style.display='none'; Codehighlighter1_30_450_Open_Image.style.display='inline'; Codehighlighter1_30_450_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_30_450_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_30_450_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;createWindow();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setText(&nbsp;_T(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Hello&nbsp;SmartWin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;)&nbsp;);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Title</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SmartWin::Rectangle&nbsp;desktop(&nbsp;getDesktopSize()&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setBounds(&nbsp;desktop.top(&nbsp;</span><span style="COLOR: #000000">0.2</span><span style="COLOR: #000000">&nbsp;).left(&nbsp;</span><span style="COLOR: #000000">0.3</span><span style="COLOR: #000000">&nbsp;)&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;itsButton&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;createButton();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;itsButton</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">setText(&nbsp;_T(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Hello&nbsp;from&nbsp;a&nbsp;button</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;)&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;itsButton</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">onClicked(&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;HelloWinClass::buttonClicked&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&#8230;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>&nbsp; 俺实在喜欢他起的标识符，一看就懂。省的每每<span>go to definition。<br>&nbsp; 编译这个库的时候还是得用Mingw，gcc否则一堆错误。<br>&nbsp; 记得以前宿舍有个同学说，管他什么标准，大爷通过了就行。俺也在想这个标准到底是怎么回事呢？<br>&nbsp; 符合标准到底有什么好处呢？</span></span></p>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/28798.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-26 09:35 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/26/28798.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>人的差异源于思考方式</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28581.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Sun, 22 Jul 2007 12:55:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28581.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/28581.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28581.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/28581.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/28581.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;其实能考进大学的完全能说明你的智商是没有问题的，当然这并不意味着没考上大学的就有问题了。这只是个充分不必要条件。</p>
<p>&nbsp; 那么为什么有人学习成绩好呢，对于任何事情总是能花费很少的劳动而把事情办好呢，这绝对不是生物意义上的智商问题。这是一种思维习惯上的问题，很多人从小就养成了不良的思维习惯，导致了差异性。有人说我小学多么聪明（当然仅仅从你考试能力上来比较）但是随着高中到大学，越来越笨了。小学的问题都很简单，直接按顺序思考就行了，久而久之就养成了这种思维习惯，不是说这种思维习惯不好，这是一种非常正常的思考逻辑。但是从小学开始就不断单一的强化这种思维方式，我们就变的像俗话说的一根筋，拐不了弯。在高中大学题目的复杂度上升，这种思维的弊端就逐渐开始暴露。比如有些题通过反证法可以轻松解决，但是由于习惯，我们顺着思考，这将带来很大的难度。从单纯的角度来说你思考的深度比那些用反证法的人强多了，你比他们一定程度上是聪明的，但很不幸，你做出题目的概率比他们小了，这导致了你学习成绩差，导致你是个差生。一旦你从心理上接受了这种角色，从此你就真正的差生了，很难翻身。</p>
<p>&nbsp; 常听某某说人生来就决定了你是聪明的还是笨的，这就成为他们每次失败的理由。这种心态非常使我反感。我向来认为大家是一样的，不同的是思维习惯和方法。也和人说过我这样的想法，他们也承认是这个原因，但他认为这就是先天的啊，这种不良的思维习惯是小学教育的悲哀。但并不是不可以改变的。难以改变不应该成为我们偷懒的理由。</p>
<p>其实这个道理一直在我们身边，而有些人却要否认。举个简单的例子，你拿了问题去问你的老师，那是你思考了很多天都没解决的问题，这时老师几句话你就突然明白了，你还是靠你自己的思考把问题解决的，那么你所差的就是老师那几句话给的思考方向。这种方向是如何得来的呢，无非就是两个原因，一个是经验，一个是思维的空间。你得学会自己从另外一个角度思考，这样就不需要老师这个角色了。很多优秀的人都是善于从不同角度思考问题的，他们不会抱死在一棵树上。</p>
<p>&nbsp; 所以我认为努力思考吧，正向的逆向的，发散的，抽象的，形象的思维方式都要不断的尝试。多看看哲学家的文章，我说的不是纯粹哲学，我认为真正的哲学是理性的哲学，比如笛卡儿的哲学，他的方法都是抽象于数学，因为唯有数学真正是精确的，正确的。</p>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/28581.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-22 20:55 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28581.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CodeGuru代码阅读(一)</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28566.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Sun, 22 Jul 2007 04:27:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28566.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/28566.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/28566.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/28566.html</trackback:ping><description><![CDATA[<span>&nbsp;&nbsp; 本文简单简介二叉树的概念，并给出平衡一颗二叉树的方法</span>
<p><strong><span style="FONT-SIZE: 18pt; COLOR: #000000; FONT-FAMILY: Lucida Console; BACKGROUND-COLOR: #ffffff"><em style="BACKGROUND-COLOR: #ff9900">关于二叉树<br></em></span></strong><span>&nbsp;&nbsp;&nbsp;&nbsp;现在有</span><span>N</span><span>个元素的数组或者链表，要查找一个元素必须遍历数组直到找到元素。假如元素在是数组中最后一个或者数组中不存在这样的元素，那么很不幸，我们要遍历整个数组。如果</span><span>N</span><span>非常大，那将是非常痛苦的一件事情。<br></span><span>用二叉树情况就好多了：<br></span><span><span>1．&nbsp;</span></span><span>更快的查找<br></span><span><span>2．&nbsp;</span></span><span>增加元素时，元素被自动排列<br></span><strong><span style="FONT-SIZE: 18pt; BACKGROUND-COLOR: #ff9900"><em>原理：</em><br></span></strong><span>在链表或数组中，元素一个接着一个，如图</span></p>
<span lang=EN-US style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><img height=60 alt="" src="http://www.cppblog.com/images/cppblog_com/zytoftuncun/BinTreellist1.gif" width=300 border=0><br>&nbsp;
<p><span>在二叉树中情况不太一样了</span></p>
<img height=175 alt="" src="http://www.cppblog.com/images/cppblog_com/zytoftuncun/BinTree2.gif" width=335 border=0><br><span>每个元素连着两个元素，左孩子和右孩子。他们存储的值的关系有如下规定<br></span><span>Value</span><span>（</span><span>left</span><span>）</span><span>&lt;Value</span><span>（</span><span>middle</span><span>）</span><span>&lt;=Value</span><span>（</span><span>right</span><span>）<br><br></span><strong><span style="BACKGROUND-COLOR: #ffffff">排序：<br></span></strong><span>在二叉树中利用递归你能很方便的排序<br></span><span>前序遍历</span>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">PrintElement(pTopMostElement)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;PrintElement(TreeElement</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;pElement)<br><img id=Codehighlighter1_85_226_Open_Image onclick="this.style.display='none'; Codehighlighter1_85_226_Open_Text.style.display='none'; Codehighlighter1_85_226_Closed_Image.style.display='inline'; Codehighlighter1_85_226_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_85_226_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_85_226_Closed_Text.style.display='none'; Codehighlighter1_85_226_Open_Image.style.display='inline'; Codehighlighter1_85_226_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_85_226_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_85_226_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(pElement)<br><img id=Codehighlighter1_109_222_Open_Image onclick="this.style.display='none'; Codehighlighter1_109_222_Open_Text.style.display='none'; Codehighlighter1_109_222_Closed_Image.style.display='inline'; Codehighlighter1_109_222_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_109_222_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_109_222_Closed_Text.style.display='none'; Codehighlighter1_109_222_Open_Image.style.display='inline'; Codehighlighter1_109_222_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_109_222_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_109_222_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintElement(pElement</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">LeftChild)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pElement</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">PrintMe()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintElement(pElement</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">RightChild)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">后序遍历：</span><span lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">PrintElementReversed(pTopMostElement)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;PrintElementReversed(TreeElement</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;pElement)<br><img id=Codehighlighter1_101_258_Open_Image onclick="this.style.display='none'; Codehighlighter1_101_258_Open_Text.style.display='none'; Codehighlighter1_101_258_Closed_Image.style.display='inline'; Codehighlighter1_101_258_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_101_258_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_101_258_Closed_Text.style.display='none'; Codehighlighter1_101_258_Open_Image.style.display='inline'; Codehighlighter1_101_258_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_101_258_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_101_258_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(pElement)<br><img id=Codehighlighter1_125_254_Open_Image onclick="this.style.display='none'; Codehighlighter1_125_254_Open_Text.style.display='none'; Codehighlighter1_125_254_Closed_Image.style.display='inline'; Codehighlighter1_125_254_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_125_254_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_125_254_Closed_Text.style.display='none'; Codehighlighter1_125_254_Open_Image.style.display='inline'; Codehighlighter1_125_254_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_125_254_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_125_254_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintElementReversed(pElement</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">RightChild)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pElement</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">PrintMe()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintElementReversed(pElement</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">LeftChild)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<strong><span style="BACKGROUND-COLOR: #ccffcc"><br><span style="FONT-SIZE: 18pt; BACKGROUND-COLOR: #ff9900"><em>如何使二叉树平衡？</em><br></span></span></strong><strong></strong><span>添加元素的顺序将影响二叉树的形态，以</span><span><span>3,6,4,8,1,9,2,7,5</span></span><span><span>的顺序得到</span></span><br><img height=100 alt="" src="http://www.cppblog.com/images/cppblog_com/zytoftuncun/BinTree3.gif" width=200 border=0><br>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 10.5pt"><font face=宋体>以</font>1,2,3,4,5,6,7,8,9</span><span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">将得到<br></span><span lang=EN-US style="COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-size: 10.5pt"><o:p><img height=200 alt="" src="http://www.cppblog.com/images/cppblog_com/zytoftuncun/BinTree4.gif" width=200 border=0><br><span>有以下方法可以考虑：<br></span><span><span>1．<span> </span></span></span><span>以非排序的元素插入元素，不能要求给出的元素是高度不排序的<br></span><span><span>2．&nbsp;</span></span><span>以一组随机元素构造二叉树，然后替换这些元素，然后通过旋转得到平衡的树。参考随机树。<br></span><span><span>3．&nbsp;</span></span><span>重构这稞树<br><br></span><strong><span style="FONT-SIZE: 18pt; BACKGROUND-COLOR: #ff9900"><em>重构整稞树<br></em></span></strong><span><span>1．&nbsp;</span></span><span>把元素拷贝到数组中，以升序排序<br></span><span><span>2．&nbsp;</span></span><span>清空这棵树<br></span><span><span>3．&nbsp;</span></span><span>从数组中高度不排序的选取元素插入树中</span><span>可以这样完成第三步：</span></p>
<img height=170 alt="" src="http://www.cppblog.com/images/cppblog_com/zytoftuncun/BinTreemoving2montana6.gif" width=230 border=0><br><span>可以递归的实现：</span>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Assuming&nbsp;array&nbsp;ranges&nbsp;from&nbsp;[0..arraySize-1]</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">GetFromOrderedArray(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,arraySize</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;GetFromOrderedArray(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;lowBound,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;highBound)<br><img id=Codehighlighter1_143_553_Open_Image onclick="this.style.display='none'; Codehighlighter1_143_553_Open_Text.style.display='none'; Codehighlighter1_143_553_Closed_Image.style.display='inline'; Codehighlighter1_143_553_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_143_553_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_143_553_Closed_Text.style.display='none'; Codehighlighter1_143_553_Open_Image.style.display='inline'; Codehighlighter1_143_553_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_143_553_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_143_553_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(hi&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;low)&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;middlePos&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;lowBound</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(highBound</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">lowBound)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;middlePos&nbsp;is&nbsp;now&nbsp;at&nbsp;the&nbsp;element&nbsp;in&nbsp;the&nbsp;middle<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;between&nbsp;lowBound&nbsp;and&nbsp;highBound,&nbsp;so&nbsp;we&nbsp;just&nbsp;add<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;it&nbsp;to&nbsp;the&nbsp;tree</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;AddElement&nbsp;(&nbsp;theOrderedArray[middlePos]&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Pick&nbsp;the&nbsp;middle&nbsp;one&nbsp;"to&nbsp;the&nbsp;left"</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;AddFromOrderedArray(lowBound,middlePos</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Pick&nbsp;the&nbsp;middle&nbsp;one&nbsp;"to&nbsp;the&nbsp;right"</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;AddFromOrderedArray(middlePos</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,highBound)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<strong><span style="BACKGROUND-COLOR: #ccffcc"><span style="BACKGROUND-COLOR: #ff9900"><br><br><span style="FONT-SIZE: 18pt"><em>删除一个元素<br></em></span></span><br></span></strong>
<p><span>首先要找到要删除的元素</span><span>E</span><span>，有两种方法：<br></span><span><span>1．&nbsp;</span></span><span>通过遍历找到这个元素</span><span>E<br></span><span><span>2．&nbsp;</span></span><span>给每个元素一个指向双亲的指针<br><br></span><span>接下来就是删除的过程了：<br></span><span><span>1．&nbsp;</span></span><span>剪断</span><span>E</span><span>与他双亲的连接<br></span><span><span>2．&nbsp;</span></span><span>将左右孩子所在的子树同其他元素一样加到树中<br></span><span><span>3．&nbsp;</span></span><span>删除</span><span>E</span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;RemoveElement(TreeElement</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;theOneToRemove)<br><img id=Codehighlighter1_48_885_Open_Image onclick="this.style.display='none'; Codehighlighter1_48_885_Open_Text.style.display='none'; Codehighlighter1_48_885_Closed_Image.style.display='inline'; Codehighlighter1_48_885_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_48_885_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_48_885_Closed_Text.style.display='none'; Codehighlighter1_48_885_Open_Image.style.display='inline'; Codehighlighter1_48_885_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_48_885_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_48_885_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;TreeElement</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;pParent&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;theOneToRemove</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetParent();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Ok,&nbsp;so&nbsp;it&nbsp;has&nbsp;a&nbsp;parent,&nbsp;then&nbsp;we'll&nbsp;simply&nbsp;just&nbsp;disconnect&nbsp;it.</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(pParent)<br><img id=Codehighlighter1_189_418_Open_Image onclick="this.style.display='none'; Codehighlighter1_189_418_Open_Text.style.display='none'; Codehighlighter1_189_418_Closed_Image.style.display='inline'; Codehighlighter1_189_418_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_189_418_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_189_418_Closed_Text.style.display='none'; Codehighlighter1_189_418_Open_Image.style.display='inline'; Codehighlighter1_189_418_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_189_418_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_189_418_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(pParent</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetLeftChild()&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;theOneToRemove)<br><img id=Codehighlighter1_248_292_Open_Image onclick="this.style.display='none'; Codehighlighter1_248_292_Open_Text.style.display='none'; Codehighlighter1_248_292_Closed_Image.style.display='inline'; Codehighlighter1_248_292_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_248_292_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_248_292_Closed_Text.style.display='none'; Codehighlighter1_248_292_Open_Image.style.display='inline'; Codehighlighter1_248_292_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_248_292_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_248_292_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pParent</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetLeftChild(NULL);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_309_414_Open_Image onclick="this.style.display='none'; Codehighlighter1_309_414_Open_Text.style.display='none'; Codehighlighter1_309_414_Closed_Image.style.display='inline'; Codehighlighter1_309_414_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_309_414_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_309_414_Closed_Text.style.display='none'; Codehighlighter1_309_414_Open_Image.style.display='inline'; Codehighlighter1_309_414_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_309_414_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_309_414_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ASSERT(pParent</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetRightChild()&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;theOneToRemove);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pParent</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetRightChild(NULL);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_429_522_Open_Image onclick="this.style.display='none'; Codehighlighter1_429_522_Open_Text.style.display='none'; Codehighlighter1_429_522_Closed_Image.style.display='inline'; Codehighlighter1_429_522_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_429_522_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_429_522_Closed_Text.style.display='none'; Codehighlighter1_429_522_Open_Image.style.display='inline'; Codehighlighter1_429_522_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span id=Codehighlighter1_429_522_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_429_522_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;No&nbsp;parent?&nbsp;Then&nbsp;we're&nbsp;removing&nbsp;the&nbsp;root&nbsp;element.</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theTopMostElement&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;NULL;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Disconnected,&nbsp;now&nbsp;we&nbsp;reconnect&nbsp;its&nbsp;children&nbsp;(if&nbsp;any)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;just&nbsp;by&nbsp;adding&nbsp;them&nbsp;as&nbsp;we&nbsp;add&nbsp;any&nbsp;other&nbsp;node.</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(theOneToRemove</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetLeftChild())<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;AddElement(theOneToRemove</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetLeftChild());<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(theOneToRemove</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetRightChild())<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;AddElement(theOneToRemove</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">GetRightChild());<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Zap&nbsp;the&nbsp;element&nbsp;(if&nbsp;that's&nbsp;what&nbsp;you&nbsp;want&nbsp;to&nbsp;do)</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;delete&nbsp;theOneToRemove;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<span style="BACKGROUND-COLOR: #ccffcc"><br><span style="BACKGROUND-COLOR: #ffffff">注解：</span></span>
<p><span>通过函数回调</span><span> </span><span>遍历二叉树</span></p>
注：函数回调例如AddElement(theOneToRemove-&gt;GetRightChild());
<p><span>简而言之，回调函数就是一个通过函数指针调用的函数。如果你把函数的指针（地址）作为参数传递给另一个函数，当这个指针被用为调用它所指向的函数时，我们就说这是回调函数。<br></span><span>可以把调用者与被调用者分开。调用者不关心谁是被调用者，所有它需知道的，只是存在一个具有某种特定原型、某些限制条件（如返回值为</span><span>int</span><span>）的被调用函数。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #内容选自CodeGuru<br>若理解错误，欢迎指正！</span></p>
</o:p></span></span>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/28566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-22 12:27 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/22/28566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>汇编学习笔记(一)</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/19/28341.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Thu, 19 Jul 2007 03:26:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/19/28341.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/28341.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/19/28341.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/28341.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/28341.html</trackback:ping><description><![CDATA[<span>机器码真难读</span><span>-------------&gt;</span><span>汇编语言</span><span>--------------&gt;</span><span>人机之间对了一层</span><span>:</span><span>编译器</span>
<p><span>伪指令和其他符号</span><span>(+,/,-,*)-----------</span><span>无对应机器码</span><span>----------&gt;</span><span>交给编译器</span></p>
<p><span>汇编指令</span><span>-------&gt;</span><span>有对应的机器码</span></p>
<p>&nbsp;</p>
<p><span>存储器：</span></p>
<p><span>指令和数据没有区别</span><span>------------&gt;</span><span>二进制信息</span></p>
<p><span>|</span></p>
<p><span>|------------------&gt;CPU------------&gt;</span><span>区别指令和数据</span></p>
<p>&nbsp;</p>
<p><span>1byte=8bit----------&gt;</span><span>计算机最小单位</span></p>
<p>&nbsp;</p>
<p><span>地址总线：低位到高位存储</span></p>
<p><span>数据总线：传输速度与位数等比</span></p>
<p><span>控制总线：计算机控制能力，读取写入等操作</span></p>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/28341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-19 11:26 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/19/28341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件实习作业(二)</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/16/28149.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Mon, 16 Jul 2007 13:17:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/16/28149.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/28149.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/16/28149.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/28149.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/28149.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.cppblog.com/Files/zytoftuncun/pro2.rar"><span style="COLOR: red"><u>源代码下载</u></span></a><br>&nbsp;<strong><span>实验二：</span></strong><span>某工厂有一名老板</span><span>Boss</span><span>，及若干工人。工人分为小时工</span><span>HourlyWorker</span><span>、计件工</span><span>PieceWorker</span><span>、销售员</span><span>CommissionWorker</span><span>。小时工每周工作</span><span>40</span><span>小时，超过</span><span>40</span><span>小时部分的报酬是平时的</span><span>1.5</span><span>倍；计件工是按生产的工件计算报酬的，每件的报酬是固定的，假设他只生产一种类型的工件；销售员每周有小部分固定的基本工资加上每周销售额的固定百分比；老板每周有固定的薪水。为该工厂设计一个简单的当前周的工资管理信息系统。要求如下：</span>
<p><span>１．设计实现一个简单的类</span><span>Employee</span><span>，它存储雇员的工号、姓（成员</span><span>firstName</span><span>）和名（成员</span><span>lastName</span><span>）。从雇员类</span><span>Employee</span><span>派生出小时工类</span><span>HourlyWorker</span><span>、计件工类</span><span>PieceWorker</span><span>、销售员类</span><span>CommissionWorker</span><span>及老板类</span><span>Boss</span><span>。</span></p>
<p><span>２．设计实现一个工厂类（</span><span>Factory</span><span>），它存储工厂名（</span><span>factoryName</span><span>）、工厂中的员工人数（含老板）等信息。及一个</span><span>Employee</span><span>指针数组存放工厂的所有员工信息。</span></p>
<p><span>３．可以增加一名工人。增加工人时，根据工人的类别，输入相应的信息。如增加的是小时工，则需要输入该小时工的工号、姓、名、本周工作小时数及每小时工资额等信息。</span></p>
<p><span>４．可以根据工号删除一名工人</span></p>
<p><span>５．可以根据工号修改工人的信息</span></p>
<p><span>６．可以显示出所有员工的本周工资信息</span></p>
<p><span>７．显示出一些统计信息，如本周支付所有员工的工资总额；小时工的工资总额、最高、最低、平均工资；计件工的工资总额、最高、最低、平均工资；销售员的工资总额、最高、最低、平均工资<br>-----------------------------------------------------------------------------------<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_0_63_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_63_Open_Text.style.display='none'; Codehighlighter1_0_63_Closed_Image.style.display='inline'; Codehighlighter1_0_63_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_63_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_63_Closed_Text.style.display='none'; Codehighlighter1_0_63_Open_Image.style.display='inline'; Codehighlighter1_0_63_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_63_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_0_63_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**************************<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;雇员类<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>**************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Employee<br><img id=Codehighlighter1_81_391_Open_Image onclick="this.style.display='none'; Codehighlighter1_81_391_Open_Text.style.display='none'; Codehighlighter1_81_391_Closed_Image.style.display='inline'; Codehighlighter1_81_391_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_81_391_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_81_391_Closed_Text.style.display='none'; Codehighlighter1_81_391_Open_Image.style.display='inline'; Codehighlighter1_81_391_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_81_391_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_81_391_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;workNo;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">工号</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;firstName;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;lastName;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Employee(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;iworkNo,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;cfirstName,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;clastName);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">Employee();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">virtual</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;Show();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">显示员工信息</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">virtual</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;Salary()</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">员工工资计算</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">virtual</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;ModifySpecial()</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">不同员工特有的参数</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;Modify(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;id);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;RworkNo(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;workno);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">工号配对</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;</span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_0_66_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_66_Open_Text.style.display='none'; Codehighlighter1_0_66_Closed_Image.style.display='inline'; Codehighlighter1_0_66_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_66_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_66_Closed_Text.style.display='none'; Codehighlighter1_0_66_Open_Image.style.display='inline'; Codehighlighter1_0_66_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_66_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_0_66_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">***************************<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;工厂类<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>***************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Factory<br><img id=Codehighlighter1_83_519_Open_Image onclick="this.style.display='none'; Codehighlighter1_83_519_Open_Text.style.display='none'; Codehighlighter1_83_519_Closed_Image.style.display='inline'; Codehighlighter1_83_519_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_83_519_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_83_519_Closed_Text.style.display='none'; Codehighlighter1_83_519_Open_Image.style.display='inline'; Codehighlighter1_83_519_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_83_519_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_83_519_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;factoryName;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp;employeeNum;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">包括老板</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Employee</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;pEmployee[</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">];&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;存放工厂所有员工信息</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Factory(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;cfactoryName);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">Factory();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;AddWorker(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;id);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">增加一个员工</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;DeleteWorker(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;workno);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">删除一个员工</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;ModifyWorker(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;workno);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">修改员工信息</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;ShowInfo();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">显示员工信息</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;TotalSalary();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">计算总工资</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;HighSalary();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">最高工资</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;LowSalary();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">最低工资</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;AverageSalary();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">平均工资</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;</span></div>
<br>欢迎下载,提供建议或意见!有很多不尽人意的地方!<a href="http://www.cppblog.com/Files/zytoftuncun/pro2.rar"><span style="COLOR: red"><u>源代码下载</u></span></a>最好给出问题的提示性解决方法额!<br><br>选项输入字母而不是数字会出现循环,可以通过char-'0'来解决,但似乎很麻烦,有更好的方法吗?<br>周波同学这样设计<br>RunMode _Mode;<br>/*判断*/<br>switch(_Mode){<br>&nbsp; case ModifyWorkerNumber :<br>}<br>俺觉得不错！采用<br></span>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/28149.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-16 21:17 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/16/28149.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>女人为什么活得比男人累?</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/07/27651.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Sat, 07 Jul 2007 02:40:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/07/27651.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/27651.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/07/27651.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/27651.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/27651.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="COLOR: #008000">所有的女人都感觉比男人活得累，为什么呢？因为她们既要获得一份体面的工作，又要找到一个优秀的男人。而要找到一个优秀的男人，则又要辨别，又要俘获。大多数女人都不缺乏俘获男人的本领，可以说女人天生的一切爱好和特质——前者如美容、化妆，后者如害羞、撒娇等等，都是上天赋予给她俘虏异性的武器。难就难在辨别什么样的男人是真正优秀同时真正适合自己的男人，女人的一切幸与不幸全部来源于此。</span></p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果把美貌和智慧作为两个重要参数，对女人的幸福进行排名的话，从好到坏的顺序应该是：聪明而又美丽的女人、聪明而不美丽的女人、不聪明也不美丽的女人、美丽而不聪明的女人。一个漂亮女人如果没有足够的智慧驾驭美貌带给她过多的自由度，美丽将是一种沉重的负担。上帝给女人最好的礼物，不是美貌，而是智慧。</p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp; 为什么女人会不停地问男人&#8220;你爱不爱我&#8221;？我想至少有两个原因。一是女人非常在乎这个男人，二是女人还没有足够掌握这个男人。她不知道男人是否真的爱她，不知道他是否当得起她全身心的回报。尤其在女人做出一些重大决定之前，比如同居、结婚、共同买房或者怀孕等等，&#8220;你爱不爱我&#8221;这个问题被问及的频度会空前地高。</p>
<p>&nbsp;//当女人不停问你&#8220;你爱不爱我&#8221;时意味着她在做一个重大决定</p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果说男人之间的友谊在于交换社会资源、寻求事业上的共同进步的话，那么女人之间的友谊则在交换自我提高和把控异性的技巧。美容、购物、健身、减肥，这些女人间经常聊的话题，其实质都是如何提高自己吸引或者诱惑男人的能力。不要责怪女人的虚荣，从动物本能的层面上看，女人所做的这一切确确实实对维系爱情、提高婚姻质量做出了巨大的贡献，虽然男人经常对此不屑一顾。</p>
<p style="COLOR: #008000">&nbsp;</p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有人说，衡量热恋中男女相爱的程度，要看他给她买的东西有多贵重；衡量女人爱男人的程度，要看她给他买的东西有多家常。这种礼物上的行为差异，主要是源于男人和女人不同的价值观。相对而言，男人更重视金钱，因为在一个商业社会，金钱本身就是社会驱动力的象征。在女人看来，一个男人肯为自己花钱，一则证明他的雄性本领，二则证明她在他心目中的地位——一个肯为自己牺牲社会驱动力的男人，一定是一个义薄云天的好丈夫、好父亲。女人需要男人征服世界的能力，也需要他眷顾家庭的意愿。</p>
<p style="COLOR: #008000"><span style="COLOR: #000000">//赶快赚钱，要不就惨了</span>&nbsp;</p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;男人在婚前的所有优点，比如有钱、浪漫、长得帅、善交际、会追女孩、多才多艺等，在婚后都有可能成为缺点。如果他不幸遇上一个非常爱他、同时又缺乏安全感的女人，那么这些&#8220;缺点&#8221;就显得更为明显。男人所有的特质都应该为我而生，女人经常这样想，问题是，如果婚后的男人因为安全的需要而变为愚笨无趣，还值得她爱吗？</p>
<p style="COLOR: #008000"><span style="COLOR: #000000">&nbsp;//做男人难啊</span></p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;女人在什么阶段最希望男人有钱，在什么阶段最希望男人顾家？男人挣多少钱是合适的？把多少钱花在女人身上最合适的？如果谁能发明这样一个非线性函数f(x)，来描述女人在不同阶段对男人要求的变化情况，那么他一定能获诺贝尔&#8220;女人学奖&#8221;。女人的感觉是最难量化、最难精确测量的，这或许是任何女人都不敢轻言幸福的原因。</p>
<p style="COLOR: #008000">&nbsp;</p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;女人大多爱看琼瑶的言情剧，愿意为其中男女主人公煽情的台词和悲情的命运潸然落泪。很多人愿意相信，这就是世界的真相。然而，世上的道理大多并非如此。言情剧无非是编剧、导演为了迎合女人的情感需要而故意编出来的东东，它大多偏离真相，对提高女人的生存技巧、职业技能和世界观不仅毫无益处，反而有害。可是女人不理会这一点，她们就是喜欢活在自己的梦中，活在别人为自己编造的梦中。</p>
<p style="COLOR: #008000"><span style="COLOR: #000000">&nbsp;//我一定要成为一个造梦师<img height=20 src="http://www.cppblog.com/Emoticons/QQ/14.gif" width=20 border=0></span></p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;女人都希望男人爱她，希望男人为她付出。如果男人真的这么认为，为了心爱的女人放弃事业，成天守候在她身边，那就大错特错了。女人希望男人爱自己，其中有一个重大前提，那就是男人比她强，有成功的事业和相当的物质保障。女人只希望获得她尊崇的男人的爱。一个牺牲事业去满足女人的爱的男人，迟早会被女人抛弃。千万不要认为这是女人的圈套，事实上连她自己都不知道，她为什么前后变化会这样大。从某种意义上说，女人是最&#8220;反复无常&#8221;的动物。&#8220;惟女人与小人难养&#8221;，说的就是这个道理。</p>
<p style="COLOR: #008000"><span style="COLOR: #000000">&nbsp;//幸亏早点看到这条额</span></p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;固执、粗暴、野蛮的男人虽然会在短时间内激怒女人，但从长期看，柔顺、懦弱、文静的男人更容易被女人抛弃。女人一直用两种相互矛盾的价值体系来评估男人，一种是这个男人的雄性能力（包括他事业成功的可能和性能力），一种是他爱她、对她温存的程度。当两种价值观发生冲突时，第一种价值观会暂时占上风，但女人一旦冷静下来，会立即把眼光投射到第二种价值观上。这便是女人对男人爱恨交加、瞬间转换的缘由。</p>
<p style="COLOR: #008000"><span style="COLOR: #000000">//我应该是后一种男人了，希望她能冷静，hoho～～</span>&nbsp;</p>
<p style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;女人抛弃男人，通常不是因为他不够爱她，而是因为他太爱她。一个太爱女人的男人，很难给女人一种被征服的感觉。男人之于女人，有点像明星之于&#8220;粉丝&#8221;。越是高高在上、特立独行的明星，越能激发&#8220;粉丝&#8221;的狂热崇拜之情。从某种意义上说，让女人对男人保持适当的爱的饥渴，恰恰是维持爱情的最佳办法。<br><br><span style="COLOR: #000000">//如果真这样，一个字，贱！<br><br>呵呵，仅为一笑而已，男人们不要当真，女人们不要生气，谢谢！<img height=20 src="http://www.cppblog.com/Emoticons/QQ/49.gif" width=20 border=0></span></p>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/27651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-07 10:40 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/07/27651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>梦与醒</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/07/04/27475.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Wed, 04 Jul 2007 06:35:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/07/04/27475.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/27475.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/07/04/27475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/27475.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/27475.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 一些话总是能让我们感知内心深处的震撼：<br><br><font face=宋体>&nbsp;&nbsp;&nbsp; </font><span style="COLOR: #008000">一切迄今我以为最接近于&#8216;真实&#8217;的东西都来自感觉和对感觉的传达。但是，我发现，这些东西常常欺骗我们。因此，唯一明智的是：再也不完全信赖那些哪怕仅仅欺骗过我们一次的东西。外部世界对我们的认知的帮助是这样的不可信赖，那么，我们的主动感知活动和思维是怎样的呢？这些活动也常常出现在梦境之中，使得我们无法确切地区分&#8220;梦&#8221;与&#8220;醒&#8221;。因此，我不得不怀疑，整个的世界是否仅仅是一个梦幻!<br><br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<em>Descartes</em> 
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/27475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-07-04 14:35 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/07/04/27475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux分区若干</title><link>http://www.cppblog.com/zytoftuncun/archive/2007/06/28/27143.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Thu, 28 Jun 2007 07:22:00 GMT</pubDate><guid>http://www.cppblog.com/zytoftuncun/archive/2007/06/28/27143.html</guid><wfw:comment>http://www.cppblog.com/zytoftuncun/comments/27143.html</wfw:comment><comments>http://www.cppblog.com/zytoftuncun/archive/2007/06/28/27143.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/zytoftuncun/comments/commentRss/27143.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zytoftuncun/services/trackbacks/27143.html</trackback:ping><description><![CDATA[<p>原来装过一次linux,只是按照默认的方法装完.现在看了一些资料.做了下面的概括,但仍然有很多不明白之处.<br><br><img height=209 alt=linux分区示意图 src="http://www.cppblog.com/images/cppblog_com/zytoftuncun/3467/o_harddisk.bmp" width=346 border=0></p>
<p>1.主分区&nbsp;&nbsp; 2G<br>2.交换分区&nbsp; 1--2倍于内存&nbsp; 256M<br>3.两个分区在8G以内</p>
<p><br>linux至少需要两个分区,linux native和linux swap两种,前者用来存放系统文件,后者用来作为交换.<br>linux安装一个或多个linux native硬盘分区,但每个分区必须指定一个mount point.</p>
<p>swap分区一般为内存的两倍,但最大也不要大于127M,若你内存大于128M,那么在安装过程显示boot要键</p>
<p>入<em>boot:linux mem=xxxMB(</em>xxx是你的内存大小),交换分区可以设置小于16个.</p>
<p>linux native是Ext2分区类型,用于存放系统文件.系统可以装在多个分区也可以一个[载入点是'/'].</p>
<p><br><span style="COLOR: #ccffcc"><strong style="COLOR: #008000">/boot<br></strong></span><span style="BACKGROUND-COLOR: #ccffcc">操作系统内核和启动用的文件<br></span>50MB到100MB<br>LILO只能读取8GB以下的数据,所以linux要安装在8GB的区域以内.</p>
<p><strong style="COLOR: #008000">/usr</strong><br><span style="BACKGROUND-COLOR: #ccffcc">存放软件的地方</span></p>
<p><span style="COLOR: #008000"><strong>/home</strong></span><br><span style="BACKGROUND-COLOR: #ccffcc">用户所在地</span></p>
<p><strong style="COLOR: #008000">/var/log</strong><br><span style="BACKGROUND-COLOR: #ccffcc">系统日志分区</span></p>
<p><strong style="COLOR: #008000">/tmp</strong><br><span style="BACKGROUND-COLOR: #ccffcc">临时文件,用于多用户和服务器</span></p>
<p><strong style="COLOR: #008000">/bin<br></strong><span style="BACKGROUND-COLOR: #ccffcc">存放标准系统实用程序</span></p>
<p><strong style="COLOR: #008000">/opt<br></strong><span style="BACKGROUND-COLOR: #ccffcc">存放可选的软件</span></p>
<p><strong style="COLOR: #339966">/sbin<br></strong><span style="COLOR: #000000; BACKGROUND-COLOR: #ccffcc">存放标准系统管理软件</span></p>
<p>可以按需要设置以上分区,但必需至少两个,一个swap分区和一个'/'分区</p>
<p>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br>既然可以按需要设置以上的分区,那么主分区最多4个.<br>那么一个分区是swap,这个没什么问题,剩下一个ext2的分区可以是'/'分区.<br><br>但我要分别给以上/boot等等设置分区,这个分区指的是什么呢,是在ext2的分区上继续分几个吗?<br>我不是很明白.<br><br>还有这个扩展分区和主分区是什么关系呢?是分了几个主分区,把其中一个作为扩展分区,还是扩展分区是和主分区对立的一个概念呢?</p>
<p>比如图中在hda3上分有hd5---hd7,那么这里的hda3是一个主分区还是一个扩展分区?还是根本就是一回事!!<br></p>
<p>---------------------------------------------<br>在硬盘都有个引导分区,里面有四项,所以硬盘只能有四个主分区,分别对应.<br>扩展分区也是一些连续的柱面<br>---------------------------------------------</p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/zytoftuncun/aggbug/27143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-06-28 15:22 <a href="http://www.cppblog.com/zytoftuncun/archive/2007/06/28/27143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>