我看不懂
Cform 2003-06-03 06:43:15 #include <iostream>
using namespace std;
class Foo
{
public:
Foo()
{
cout << "default constructor" << endl;
}
Foo(const Foo &)
{
cout << "copy construction" << endl;
}
~Foo()
{
cout << "destructor" << endl;
}
Foo& operator=(Foo &rhs)
{
cout << "assignment" << endl;
return *this;
}
};
Foo GetAFoo()
{
Foo foo;
return foo;
}
int main()
{
Foo foo1;
Foo foo2;
foo1 = GetAFoo(); // generates compiler error
foo2 = foo1; // compiles OK
return 0;
}
注意:编译时提示错误,我看过答案,说是将一个全局变量赋给了一个临时变量,而临时变量是不可修改的,可我还看不明白到底谁修改了谁?请高手指点。