【发布时间】:2012-09-08 21:17:47
【问题描述】:
我目前正在开发一个名为 Text 的 ADT,并且正在重载赋值运算符。当我像这样测试运算符时:assignText = alpha 一切输出正常。但是,当我执行assignText = assignText 时,会改为输出两个实心条。
assignText 被声明为 Text 对象。
我的重载赋值运算符如下:
void Text::operator= (const Text& other) {
bufferSize = other.getLength();
buffer = new char[bufferSize];
buffer = other.buffer;
}
int bufferSize 和 char *buffer 在哪里
任何提示或建议将不胜感激。如果还需要什么,请告诉我。
【问题讨论】:
-
查看复制交换习语。
-
您的作业可能存在更多问题。
-
确实如此。 Rule of Zero 在您被允许使用时会发光。
标签: c++ pointers operator-overloading