#include <iostream>
using namespace std;
class Base{
public:
Base()
{
cout<<"Base()"<<endl;
}
Base(const Base& b)
{
cout<<"Base(Base&)"<<endl;
}
virtual ~Base()
{
cout<<"~Base()"<<endl;
}
};
int main()
{
Base b = Base();
return 0;
}
平台:win7 / CodeBlock / mingw 在我的屏幕上输出结果:
库()
〜基地()
为什么没有调用Base(Base&amp;)?
我的问题:
在main()
,Base b = Base();
中,我认为Base()
将调用Base()
构造函数,然后构建一个匿名对象,之后,&#34; Base b =匿名对象&#34 ;将调用Base(const Base& b)
,但输出结果告诉我没有调用复制构造函数。你能告诉我为什么吗?