#include using namespace std; class B { public: B(){cout<<"构造函数B"< B(int i):data(i){cout<<"构造函数B"< B play(B b){return b;} ~B(){cout<<"析构函数B"<private: int data; }; void main() { B temp; temp.play(5); }
最佳答案
五星知识达人网友:纵马山川剑自提
2021-01-30 00:27
B temp;上的代码创建了一个B,相应的有一个析构调用。
temp.play(5);这里传递参数时,由于play接受一个B对象,所以会创建一个B。
B play(B b){return b;}由于play函数返回一个B,所以相应的会创建一个b的拷贝。