我对 cli/c++ 环境中的运算符重载有疑问
static Length^ operator++(Length^ len)
{
Length^ temp = gcnew Length(len->feet, len->inches);
++temp->inches;
temp->feet += temp->inches/temp->inchesPerFoot;
temp->inches %= temp->inchesPerFoot;
return temp;
}
(代码来自ivor horton的书。)
为什么我们需要在堆上声明一个新的类对象(temp)只是为了返回它?我用谷歌搜索了关于超载的信息,但那里真的不多,我觉得有点失落。