以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 计算机考研交流 』   (http://bbs.xml.org.cn/list.asp?boardid=67)
----  编程小问题不会了:二叉树节点重载运算符 "=" 怎么改亚?谢谢!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=67&rootid=&id=49452)


--  作者:genius2008
--  发布时间:7/5/2007 2:31:00 PM

--  编程小问题不会了:二叉树节点重载运算符 "=" 怎么改亚?谢谢!

在节点类中重载运算符 = 如下 (下载的代码中这样写的)
BinaryTreeNode& operator= (const BinaryTreeNode& Node)
{this=Node;};

编译会出现错误
can't convert from "const class BinaryTreeNode" to "class BinaryTreeNode *const"
对this不明白    请帮帮忙,谢谢!


--  作者:shun
--  发布时间:7/5/2007 7:55:00 PM

--  
我觉得就是一般的结点附值的意思吧...
对C++不怎么懂,不知道错是什么意思...this应该是"="右边的变量吧
--  作者:realzb
--  发布时间:7/6/2007 10:11:00 AM

--  
this 是对象指针啊,node是对象
{this=Node;};
convert "class BinaryTreeNode" to "class BinaryTreeNode *" 当然是不行了

--  作者:DavidPotter
--  发布时间:7/6/2007 10:37:00 AM

--  
你可以改变this的内容,但是不能改变this本身。
--  作者:罗泽尔
--  发布时间:7/6/2007 7:38:00 PM

--  
this 是指针,应该是 *this = Node,而且应该先 if ( this != &Node ) 再赋值
--  作者:genius2008
--  发布时间:7/6/2007 7:57:00 PM

--  
明白了 记得当时试过将Node的地址赋给this,原来this 是const但指向的值可以改变 谢谢各位了
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
140.625ms