各位大虾,帮我看看下面这道C++的题,谢啦 (我想知道它哪里出错了,看它输出来的结果感觉不对劲啊)

2024-12-20 12:48:59
推荐回答(1个)
回答1:

如果看到的是这个
Constructor called
Constructor called
There are 2object(s)
Destructor called
Destructor called
Destructor called

那就没错 b是拷贝构造函数构造的 没给count + 1

-----

知道你想说什么了x_x

abc & fun(abc obj){return obj;} <- 写成这样就只有一次了。你调用fun的时候返回的那个abc也是一个对象,先析构的是原来的obj2,然后给obj2赋值,最后还得把那个中间的对象也析构了。