📄 subject_50900.htm
字号:
<p>
序号:50900 发表者:aer 发表日期:2003-08-27 17:15:44
<br>主题:高手请给菜鸟指点
<br>内容:class student<BR>{<BR>private:<BR> char* name;<BR> char*age;<BR>//...<BR>//...<BR>student(char* n, char *a)<BR>};<BR> 一般来说为上面两个数据成员赋予值的时候要用new申请动态内存,然后delete回收<BR>但是我后来发现,(在我自己的函数里)可以用cin可以完成*age的赋值,而*name就不行,<BR>*name 必须用<BR>student::student(char* n,char *a)<BR>{<BR> name=new char[strlen(n)+1];<BR> strcpy(name,n);<BR>}<BR>否则如果两个都用cin>>,<BR>那么用cout<<age<<name<<endl;<BR>输出*age,和*name 的时候,都是*age的值!!<BR>为什么啊
<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>回复者:天才 回复日期:2003-08-28 09:18:01
<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>
回复者:aer 回复日期:2003-08-28 15:56:05
<br>内容:student(char* n, char *a)<BR>{<BR>name=new char[strlen(n)+1];<BR>strcpy(name,n);<BR><BR>age=new char[strlen(a)+1];// 为什么也可以用age=a;<BR>strcpy(age,n);//而不能同时再用name=n;<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-08-29 09:30:52
<br>内容:age=a可以而name=n不行,则应该是a最终您没有释放,而n最终被释放掉了。
<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 + -