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

📄 subject_53119.htm

📁 vc
💻 HTM
字号:
<p>
序号:53119 发表者:困惑的人 发表日期:2003-09-17 14:25:39
<br>主题:请教各位同志,这句是什么意思?
<br>内容:#include&lt;string.h&gt;<BR>#include&lt;iostream.h&gt;<BR>class Student<BR>{<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Student(char *pName=&#34;no name&#34;;int ssld=0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//id=ssld;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(name,pName);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name[sizeof(name)-1]='\0';<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Constructing new student&#34;&lt;&lt;pName&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;Student(Student&amp;s)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Constructing copy of&#34;&lt;&lt;s.name&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(name,&#34;copy of&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat(name,s.name);////将“copy of”拼接在name之前。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//id=s.id;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;~Student()<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Destructing&#34;&lt;&lt;name&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;char name[40];<BR>&nbsp;&nbsp;&nbsp;&nbsp;//int id;<BR>};<BR><BR>class Tutor<BR>{<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Tutor(Student&amp;s):student(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这句是什么意思?<BR>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Constructing tutor\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Student student;<BR>};<BR>void fn(Tutor tutor)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;ln function fn()\n&#34;;<BR>}<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;Student randy(&#34;Randy&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;Tutor tutor(&#34;rdndy&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Calling fn()\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fn(tutor);<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Returned from fn()\n&#34;;<BR>}<BR>不懂这句话是什么意思?所以不能理解。Tutor(Student&amp;s):student(s) 在主程序里 当我这样定义时Tutor tutor(&#34;rdndy&#34;);出错<BR>F:\sr\拷贝构造函数\hanshu\instructing'.cpp(47) : error C2664: '__thiscall Tutor::Tutor(class Student &amp;)' : cannot convert parameter 1 from 'char [6]' to 'class Student &amp;'<BR>怎么改?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR><BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:a dog 回复日期:2003-09-17 15:06:12
<br>内容:Tutor(Student&amp;s):student(s)<BR>这是用成员初始化列表来初始化成员变量。<BR>是另一种初始化方式。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-17 15:16:25
<br>内容:你是说把类Tutor的对象是Student类来初始化吗?那Student&amp;s应该是什么呢?<BR>我认为Tutor的对象是Student&amp;s类来初始化。可是我定义Tutor对象Tutor tutor(&#34;rdndy&#34;);<BR>出错了,我怎么改呢?<BR>真烦死了,初学c++。买了本钱能的,里面的程序错误好多,也不知道怎么弄的。<BR>帮帮忙,把该程序改为正确的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-17 15:27:20
<br>内容:#include&lt;string.h&gt;<BR>#include&lt;iostream.h&gt;<BR>class Student<BR>{<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Student(char *pName=&#34;no name&#34;,int ssld=0)//这儿有个错,中间是分号<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//id=ssld;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(name,pName);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name[sizeof(name)-1]='\0';<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Constructing new student&#34;&lt;&lt;pName&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;Student(Student&amp;s)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Constructing copy of&#34;&lt;&lt;s.name&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(name,&#34;copy of&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat(name,s.name);////将“copy of”拼接在name之前。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//id=s.id;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;~Student()<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Destructing&#34;&lt;&lt;name&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;char name[40];<BR>&nbsp;&nbsp;&nbsp;&nbsp;//int id;<BR>};<BR><BR>class Tutor<BR>{<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Tutor(Student&amp;s):student(s)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 这句是什么意思?<BR>//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Constructing tutor\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Student student;<BR>};<BR>void fn(Tutor tutor)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;ln function fn()\n&#34;;<BR>}<BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;Student randy(&#34;Randy&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;Tutor tutor(randy);//这儿有个错,把引号去掉,名字也没写对<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Calling fn()\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fn(tutor);<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;Returned from fn()\n&#34;;<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-17 15:41:45
<br>内容:去掉了就不知道randy是个什么东西了,还是会出错,请问什么名字写错了?不知道。<BR>希望...有个美好的。。。回答。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-17 15:47:34
<br>内容:randy被你写成了rdndy
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-17 15:51:24
<br>内容:a dog 基本已经回答了你所想要的,但是你这个程序有很大的问题,就是拷贝构造函数,拷贝构造函数的参数类型要加上const。由于绑定一个非const引用到一个临时的对象是非法的,使用Student(Student&amp;s)不会允许复制任何特殊表达式的结果。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-17 16:14:25
<br>内容:谢谢两位的回答,“randy被你写成了rdndy ”完全正确。改了就没什么事情了<BR>我想问一下:为什么randy不能加引号。<BR>是水番兄的理由吗?谢谢。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-17 16:23:35
<br>内容:加引号的话那是字符串。和我说的无关,但是你那个拷贝构造函数的参数要加上const。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-17 16:36:29
<br>内容:要写成Tutor(const Student&amp;s):student(s)&nbsp;&nbsp;这个形式么?<BR>水番兄,看的出你对c有很深的见解。问一下你说的struct是指c++中的类吗?&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-17 16:53:05
<br>内容:是要写成那样的形式,<BR>你所说的,是指我什么时候说的struct。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-17 17:07:22
<br>内容:我经常看到你对别人的作答。建议别人把一些别的结构写成struct 想必就是我想的类吧<BR>你申请了MSN Messenger了吗?欢迎加我。我的帐号是sunny03cn@hotmail.com.cn<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-17 17:11:27
<br>内容:我的是MSN: Panjianfeng2002@tom.com<BR>不过我暂时搞我的硬盘,这个硬盘有坏区,烦!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-18 10:26:09
<br>内容:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Tutor(Student&amp;s):student(s)&nbsp;&nbsp;&nbsp;&nbsp; 这是用成员初始化列表来初始化成员变量。<BR>请教各位能不能说清楚些,是用类Student的成员来初始化Tutor的成员吗?<BR>中间的(Student&amp;s)是不是就是把类Student的成员来初始化Tutor的成员使用的方法???<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-18 10:34:19
<br>内容:student是Tutor的一个成员,<BR>是用s来初始化student。<BR><BR>给你的一个建议就是看书!<BR>找本外国佬写的吧。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-18 10:42:38
<br>内容:你推荐一本吧。我实在找不到好书,在书店里大都是教人怎么做什么实例的。人家说钱能的好,我买了一本也不觉得怎么样,The c++ program 只能买到中文的。现在正在看,我和你一样在公司实习阶段,以前只会画程序,做了个什么的感觉了不起了,哎,现在看来真的不行,还是要练内功
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-18 10:49:25
<br>内容:《C++ Primer Plus》(看清楚,不是《C++ Primer》<BR>如果你已经有些基础,建议看《C++编程思想》<BR>以后的以后再说 :-)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Bardo 回复日期:2003-09-19 21:08:17
<br>内容:我看你们大家最好看书吧:<BR>关于这个问题的下确答案:<BR>钱能《C++程序设计》:“派生类的构造函数与析构函数”<BR><BR>那才是你们真正要弄懂的!!!!!!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-19 21:56:09
<br>内容::-)<BR>这里可没有用到派生,只不过把一个用户类型的对象做为成员而已,<BR>给你一个建议,以后还是看仔细点。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Bardo 回复日期:2003-09-19 23:06:03
<br>内容:我确实没有看仔细,谢谢。但是,你并没有讲清,为什么要用const呀!<BR><BR>我这有个拙作:<BR><BR>http://www.easthot.net/article_read.asp?id=126
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-19 23:11:05
<br>内容:呵呵,难得。<BR>我把它收藏起来了,过两天慢慢看(明天去让老总炒鱿鱼)。不过正如我在另一个帖子也说了,我不想把所有的东西都写出来,给大家一个讨论和思考的余地。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-23 10:59:46
<br>内容:钱的书说的太少了,也不太清楚。我也一直不清楚为什么要家const?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

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