代码如下:
#include <iostream>
using namespace std;
class foo{
public:
template <class T>
foo& operator=(T &f)
{
cout << "template" << endl;
return *this;
}
// foo& operator=(const foo &f)
// {
// cout << "copy assignment operator" << endl;
// return *this;
// }
};
int main()
{
foo f1;
foo f2;
f1 = f2;//调用template 实例函数
system("PAUSE");
return 0;
}
结论:
呵呵,还真绝了:
1)gcc总是会输出template
2)vc在重载赋值函数后才会输出template
foo& operator=(const foo &f)
{
cout << "copy assignment operator" << endl;
return *this;
}