operator = override未被使用

时间:2015-03-20 20:07:37

标签: c++

我有这个任务:

的main.cpp

polygon &q = polygonList->top();
polygon p = q;

我想使用操作符覆盖来执行深层复制。

polygon.cpp

polygon& polygon::operator=(const polygon &obj)
{
    // deep copy here

    return *this;
}

polygon.hpp

public:
    polygon& polygon::operator=(const polygon &obj);

知道为什么它没有打到上面?

编辑我知道这不是因为我的调试器在覆盖返回时没有中断

1 个答案:

答案 0 :(得分:1)

您正在使用复制构造函数初始化p

而不是polygon p = q;,请尝试:

polygon p;
p = q;