小编IAm*_*ake的帖子

复制构造函数何时开始工作?

#include <iostream>
using namespace std;
class myclass {
public:
     myclass();
     myclass(const myclass &o);
     myclass f();
};
myclass:: myclass(){
    cout<<"Constructing normally"<<endl;
};
myclass:: myclass(const myclass &o){
    cout<<"Constructing copy"<<endl;
};
myclass myclass::f(){
    myclass temp;
    return temp;
};
int main(){
   myclass obj;
   obj = obj.f();
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在一本书中找到了这个例子,该书显示该程序的输出应该是:

Constructing normally
Constructing normally
Constructing copy 
Run Code Online (Sandbox Code Playgroud)

但是当我在我的编译器中编译它时,它只显示下面写的输出

Constructing normally
Constructing normally
Run Code Online (Sandbox Code Playgroud)

里面究竟发生了什么?

c++

3
推荐指数
1
解决办法
113
查看次数

标签 统计

c++ ×1