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

📄 subject_23708.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:23708 发表者:吾讲得 发表日期:2002-12-06 00:04:14
<br>主题:里面有个程序,希望大家能帮我解答里面我不明白的问题?谢谢你们
<br>内容:1. #include&lt;iostream.h&gt;<BR>2. #include&lt;string.h&gt;<BR>3. class Reader<BR>4. {private:<BR>5. char name[10];<BR>6. public:<BR>7. long index;<BR>8. char *get_name(){return name;}<BR>9. void set_name(char *i_name);};<BR>10.void Reader::set_name(char *i_name)<BR>11.{strcpy(name,i_name);}<BR>12.void main()<BR>13.{Reader A_Reader;<BR>14.char name[10];<BR>15.cout&lt;&lt;"Please input your name?";<BR>16.cin&gt;&gt;name;<BR>17.A_Reader.index=1;<BR>18.A_Reader.set_name(name);<BR>19.cout&lt;&lt;"your name is";<BR>20cout&lt;&lt;A_Reader.get_name();<BR>21.cout&lt;&lt;"(index"&lt;&lt;A_Reader.index;<BR>22.cout&lt;&lt;")\n";}<BR>本题执行结果为:Please input your name?JOHN<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Your name is JOHN(index1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;please any key to continue<BR>第8句是什么意思?比如char *ptr就是指向字符型的指针变量ptr,但char *get_name()是什么意思?在程序里的作用是什么?<BR>第9句定义了一个指针变量i_name作为set_name的参数,当执行到第18句时就将数组name[10]的首地址传给函数set_name的参数,然后执行到第11句时,将i_name复制给name(这里我不明,为什么可以地址复制给地址),输出结果是字符串而不是地址,为什么?
<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>回复者:tjhe 回复日期:2002-12-06 01:57:02
<br>内容:char *get_name() 用于访问私有成员name;<BR>set_name(char *i_name)中是将i_name中的字符复制到数据成员name数组中,<BR>不是地址复制给地址。<BR>cout 接受输出对象为字符指针时,即是输出字符指针代表的字符串(直到有字符串结束符'\0')
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:晚风也渡 回复日期:2002-12-06 09:56:27
<br>内容:1.char *get_name()是一个Reader类的成员函数,其返回值为char型的字符串指针,用于取得Reader类的成员变量name的值<BR>2.char *strcpy( char *strDestination, const char *strSource );<BR> 其作用是将strSource(包含结束符'\0')复制到由strDestination所确定的位置<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>
回复者:吾讲得 回复日期:2002-12-06 10:35:52
<br>内容:你的意思是说复制函数strcpy本来的原型是char *strcpy( char *strDestination, const char *strSource );<BR>如果是的话那么strcpy("aa","bb")这句又怎么理解<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>
回复者:晚风也渡 回复日期:2002-12-06 11:00:23
<br>内容:对呀,你可以看我将你的程序做的修改,就明白了。<BR>其实strcpy函数是有返回值的,它返回的是strDestination,<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>
回复者:吾讲得 回复日期:2002-12-06 11:14:26
<br>内容:真的谢谢你,不过你可以帮我解答完我的新贴先吗?<BR>不好意思我是刚学VC++,所以很多问题不明,要问
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2002-12-07 14:42:08
<br>内容:strcpy("aa","bb")肯定运行错误!!!<BR>因为"aa"为字符串常量。
<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 + -