64,651
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
class base {
public:
explicit base() {
printf("base constructor \n");
}
~base() {
printf("base destructor \n");
}
void test() {
printf("do test() \n");
}
base(const base& rh) {
printf("int copy constructor \n");
}
base& operator =(const base& rh) {
printf("in assign \n");
return *this;
}
};
base test0()
{
base a;
return a;
}
base& test1() {
base a;
return a;
}
int main() {
base a = test0();//本以为,这会有两次的构造与析构。
a.test();
printf("will be exit \n");
return 0;
}