<?xml version="1.0" encoding="UTF-8"?><!-- generator="lyceum/1.0.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>《看一本书把耳朵捂起来》的评论</title>
	<link>http://xysblogs.org/baoer/archives/4682</link>
	<description>小保尔&#038;老保尔的科学学习博客</description>
	<pubDate>Sat, 16 May 2026 07:29:53 +0000</pubDate>
	<generator>http://lyceum.ibiblio.org/?v=1.0.3</generator>

	<item>
		<title>由：baoer</title>
		<link>http://xysblogs.org/baoer/archives/4682#comment-18108</link>
		<pubDate>Wed, 29 Apr 2009 16:18:41 +0000</pubDate>
		<guid>http://xysblogs.org/baoer/archives/4682#comment-18108</guid>
					<description>//想理解“面向对象”的概念，要先理解“类”。为什么要用到“类”的概念呢？非用不可吗？如果不用“类”会有什么问题出来吗？
//我们先从“感性”的角度来欣赏“类”。看我一次构造出16只(或更多的)“宠物小动物”来给你看吧！
//“类”入门，实际例子讲解：类和动物宠物……推荐大家“欣赏”一下，有兴趣的读者仔细读哦。
//本程序是下一篇文章的预备课程，为下一次讲宠物游戏做准备……

#include "stdafx.h"
#include ＜string＞
const int MemberNum=16;//最大定义16个动物,为游戏讲解做准备。

class Animal{//“类”,动物类
public:
           Animal(){
                        strcpy(name,"羊");
                        printf("\n运行(实例化)1个animal对象,名字:%s",name);
                    }
          Animal(char *name1){//构造函数重载
                        strcpy(name,name1);
                        printf("\n实例化(重载)1个animal对象,名字:%s",name);
                  }

          void SetId(int n) {
              id=n;
          }
          void Name(char *name1){
              strcpy(name,name1);
              printf("\n重命名:%s",name1);
          }
private:
    int id;
    char name[30];
};
void ReName1(Animal A[],int N)
{
    char name1[30];

    for (int i=0;i&lt;N;i++){
                        A[i].SetId(i);
                        char strs[20]="小动物:羊羊";
                        char buffer[20]="";/*转换缓冲区*/ _itoa(i,buffer, 16);/*数字转字符串*/ strcat(strs,buffer); /*连接字符串到strs*/ strcat(strs,"号");
                        strcpy(name1,strs);//拷贝字符串到name
                        A[i].Name(name1);//重命名小动物的名字
    }//for (int i
}
int _tmain(int argc, _TCHAR* argv[])
{
    Animal a1;
    Animal b1("喜羊羊");//测试构造函数重载入。

    Animal anim[MemberNum];//一次构造多个(16)个小动物(实例化）；
    anim[1].Name("喜羊羊1号");//测试重命名一个小动物的名字；
    ReName1(anim,MemberNum);//一次命名多个小动物的名字。


    char tempcache[10];/*按任意键继续*/
    scanf("%s",tempcache);
    return 0;
}
//程序读完了，要想一想如果不用“类”的方法(比如直接用C语言,按照“面向过程”的方法)，应该怎样编制程序呢？
</description>
		<content:encoded><![CDATA[<p>//想理解“面向对象”的概念，要先理解“类”。为什么要用到“类”的概念呢？非用不可吗？如果不用“类”会有什么问题出来吗？<br />
//我们先从“感性”的角度来欣赏“类”。看我一次构造出16只(或更多的)“宠物小动物”来给你看吧！<br />
//“类”入门，实际例子讲解：类和动物宠物……推荐大家“欣赏”一下，有兴趣的读者仔细读哦。<br />
//本程序是下一篇文章的预备课程，为下一次讲宠物游戏做准备……</p>
<p>#include &#8220;stdafx.h&#8221;<br />
#include ＜string＞<br />
const int MemberNum=16;//最大定义16个动物,为游戏讲解做准备。</p>
<p>class Animal{//“类”,动物类<br />
public:<br />
           Animal(){<br />
                        strcpy(name,&#8221;羊&#8221;);<br />
                        printf(&#8221;\n运行(实例化)1个animal对象,名字:%s&#8221;,name);<br />
                    }<br />
          Animal(char *name1){//构造函数重载<br />
                        strcpy(name,name1);<br />
                        printf(&#8221;\n实例化(重载)1个animal对象,名字:%s&#8221;,name);<br />
                  }</p>
<p>          void SetId(int n) {<br />
              id=n;<br />
          }<br />
          void Name(char *name1){<br />
              strcpy(name,name1);<br />
              printf(&#8221;\n重命名:%s&#8221;,name1);<br />
          }<br />
private:<br />
    int id;<br />
    char name[30];<br />
};<br />
void ReName1(Animal A[],int N)<br />
{<br />
    char name1[30];</p>
<p>    for (int i=0;i<N;i++){<br />
                        A[i].SetId(i);<br />
                        char strs[20]=&#8221;小动物:羊羊&#8221;;<br />
                        char buffer[20]=&#8221;";/*转换缓冲区*/ _itoa(i,buffer, 16);/*数字转字符串*/ strcat(strs,buffer); /*连接字符串到strs*/ strcat(strs,&#8221;号&#8221;);<br />
                        strcpy(name1,strs);//拷贝字符串到name<br />
                        A[i].Name(name1);//重命名小动物的名字<br />
    }//for (int i<br />
}<br />
int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
    Animal a1;<br />
    Animal b1(&#8221;喜羊羊&#8221;);//测试构造函数重载入。</p>
<p>    Animal anim[MemberNum];//一次构造多个(16)个小动物(实例化）；<br />
    anim[1].Name(&#8221;喜羊羊1号&#8221;);//测试重命名一个小动物的名字；<br />
    ReName1(anim,MemberNum);//一次命名多个小动物的名字。</p>
<p>    char tempcache[10];/*按任意键继续*/<br />
    scanf(&#8221;%s&#8221;,tempcache);<br />
    return 0;<br />
}<br />
//程序读完了，要想一想如果不用“类”的方法(比如直接用C语言,按照“面向过程”的方法)，应该怎样编制程序呢？
</p>
]]></content:encoded>
				</item>
	<item>
		<title>由：baoer</title>
		<link>http://xysblogs.org/baoer/archives/4682#comment-17996</link>
		<pubDate>Mon, 27 Apr 2009 16:18:49 +0000</pubDate>
		<guid>http://xysblogs.org/baoer/archives/4682#comment-17996</guid>
					<description>&lt;p&gt;// 既然是&#8220;程序欣赏&#8221;，那我们就一定选择、短小、经典的代码；今天的代码段引入了&#8220;类&#8221;和C++的&#8220;链表和容器&#8221;&lt;br /&gt; //&lt;/p&gt;
&lt;p&gt;#include "stdafx.h"//VS2008适用,VC6.0去掉此句&lt;br /&gt; #include ＜iostream＞&lt;br /&gt; #include   ＜vector＞&lt;br /&gt; #include   ＜algorithm＞&lt;br /&gt; const int NumN=20;//固定量,所谓&#8220;常数变量&#8221;放这里面&#8230;&#8230;&lt;/p&gt;
&lt;p&gt;class   Node  //用&#8220;类&#8221;定义链表的结点&lt;br /&gt; {&lt;br /&gt; public:&lt;/p&gt;
&lt;p&gt;};&lt;br /&gt; using   namespace   std;&lt;/p&gt;
&lt;p&gt;class   CC{  //&#8220;类&#8221;定义结点的数据结构和类型&lt;br /&gt; public:&lt;br /&gt; int   a;&lt;br /&gt; int   b;//b为关键字以便日后排序用&lt;br /&gt; };&lt;/p&gt;
&lt;p&gt;class   Rule{&lt;br /&gt; public:&lt;br /&gt; bool   operator()(const   CC&#38;e1,   const   CC&#38;e2){  /*此处简单的举例:处理(判断)大小*/&lt;br /&gt; return   e1.b  &#62;  e2.b;&lt;br /&gt; }&lt;br /&gt; };&lt;br /&gt; CC   c[NumN];&lt;/p&gt;
&lt;p&gt;void   main()&lt;br /&gt; {&lt;br /&gt; Rule   rule;&lt;br /&gt; c[0].a   =   0;&lt;br /&gt; c[0].b   =   20;&lt;br /&gt; c[1].a   =   2;&lt;br /&gt; c[1].b   =   2;&lt;br /&gt; c[2].a   =   2;&lt;br /&gt; c[2].b   =   12;&lt;/p&gt;
&lt;p&gt;sort(&#38;c[0], &#38;c[2],rule);&lt;br /&gt; int N=NumN;&lt;br /&gt; for(int   i=0;   i&#60;N;   i++)&lt;br /&gt; cout   &#60;&#60;   c[i].a   &#60;&#60;   "   "   &#60;&#60;   c[i].b   &#60;&#60;   endl;&lt;/p&gt;
&lt;p&gt;cin.get();//按任意键继续（结束显示内容）&lt;br /&gt; }//在Vs2008控制台环境运行通过&#8230;&#8230;&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>// 既然是&ldquo;程序欣赏&rdquo;，那我们就一定选择、短小、经典的代码；今天的代码段引入了&ldquo;类&rdquo;和C++的&ldquo;链表和容器&rdquo;<br /> //</p>
<p>#include &#8220;stdafx.h&#8221;//VS2008适用,VC6.0去掉此句<br /> #include ＜iostream＞<br /> #include   ＜vector＞<br /> #include   ＜algorithm＞<br /> const int NumN=20;//固定量,所谓&ldquo;常数变量&rdquo;放这里面&hellip;&hellip;</p>
<p>class   Node  //用&ldquo;类&rdquo;定义链表的结点<br /> {<br /> public:</p>
<p>};<br /> using   namespace   std;</p>
<p>class   CC{  //&ldquo;类&rdquo;定义结点的数据结构和类型<br /> public:<br /> int   a;<br /> int   b;//b为关键字以便日后排序用<br /> };</p>
<p>class   Rule{<br /> public:<br /> bool   operator()(const   CC&amp;e1,   const   CC&amp;e2){  /*此处简单的举例:处理(判断)大小*/<br /> return   e1.b  &gt;  e2.b;<br /> }<br /> };<br /> CC   c[NumN];</p>
<p>void   main()<br /> {<br /> Rule   rule;<br /> c[0].a   =   0;<br /> c[0].b   =   20;<br /> c[1].a   =   2;<br /> c[1].b   =   2;<br /> c[2].a   =   2;<br /> c[2].b   =   12;</p>
<p>sort(&amp;c[0], &amp;c[2],rule);<br /> int N=NumN;<br /> for(int   i=0;   i&lt;N;   i++)<br /> cout   &lt;&lt;   c[i].a   &lt;&lt;   &#8221;   &#8221;   &lt;&lt;   c[i].b   &lt;&lt;   endl;</p>
<p>cin.get();//按任意键继续（结束显示内容）<br /> }//在Vs2008控制台环境运行通过&hellip;&hellip;</p>
]]></content:encoded>
				</item>
</channel>
</rss>
