小编Clo*_*Guy的帖子

用户定义的简单类,带有操作符=重载代码崩溃

我正在测试一个简单的运算符重载代码,当测试它时,这段代码只是在“ nd.print()”处崩溃(将内核转储)。有什么建议吗?

崩溃发生在Ubuntu 16.04 64位上。当我尝试某些在线shell环境(例如https://www.onlinegdb.com/online_c++_compiler)时,似乎还可以。

#include <iostream>
using namespace std;

class Node
{
    int d;
    public:
    Node (int dd = 0):d(dd){}
    Node &operator=(Node &nd){ d = nd.d; }
    void print(){ cout<<d<<endl; }
};

int main()
{
    Node nd1(1), nd2(2);
    Node nd;
    nd = nd2 = nd1;
    nd.print();    //*******Crash here
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我希望它只是打印一个值而不会崩溃。

c++ overloading operator-keyword

0
推荐指数
1
解决办法
29
查看次数

标签 统计

c++ ×1

operator-keyword ×1

overloading ×1