【发布时间】:2023-03-07 02:35:01
【问题描述】:
我正在尝试重载和赋值运算符,但程序不断崩溃,这是我尝试过的。赋值运算符在第 238 行重载。Code 任何帮助都会得到帮助
【问题讨论】:
-
BinaryTree *newTree; newTree->insert(0);你期望这会做什么?newTree是一个不确定的指针,您在声明后 立即 取消引用。你根本不应该在那里使用指针,我建议你阅读The Rule of Three/Five/Zero,以及copy/swap idiom -
@WhozCraig 我希望它向类中包含的 TreeNode 添加一个节点,这不是它应该做的吗?我也刚刚尝试过 BinaryTree newTree;新树.插入(0);但它也不起作用。
-
按照我的建议做,并阅读我之前发布的两个链接。
-
@CPlusJavaPlusZ 尝试重载二叉搜索树赋值运算符 -- 我建议你先编写复制构造函数。一旦你编写了复制构造函数,那么赋值运算符实际上就是一堆
std::swap和一个return语句。
标签: c++ operator-overloading assignment-operator