📄 subject_33436.htm
字号:
<p>
序号:33436 发表者:曦 发表日期:2003-03-20 09:28:21
<br>主题:为什么这个要加*
<br>内容://: PVDEST.CPP -- Pure virtual destructors<BR>// require a function body.<BR>#include <iostream.h><BR><BR>class base {<BR>public:<BR> virtual ~base() = 0 {<BR> cout << "~base()" << endl;<BR> }<BR>};<BR><BR>class derived : public base {<BR>public:<BR> ~derived() {<BR> cout << "~derived()" << endl;<BR> }<BR>};<BR><BR>main()<BR>{<BR> base* bp = new derived; // Upcast<BR> // base bp;<BR> delete bp; // virtual destructor call<BR>}<BR>为什么base* bp = new derived;要加*?<BR>而且base bp也不能用?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:晚风也渡 回复日期:2003-03-20 09:40:35
<br>内容:base* bp=new derived;这里的*说明bp是base类型的指针。<BR>而你所说的不加*指的是base的对象,不能够用new的。
<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-03-20 10:55:03
<br>内容:但是我做base bp说明bp是base的对象,但是编译器说明是错误啊。
<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-03-20 11:02:22
<br>内容:new是给指针分配一个动态地址的<BR>bp是对象指针所以要加new
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:zjllyy 回复日期:2003-03-24 10:30:22
<br>内容:要不用base* bp=new derived;bp为对象的指针<BR>要不用base bp;bp为对象
<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 + -