我的朋友有一些關於運算符重載的代碼。代碼如下:C++:運算符重載問題?
class Bar
{
public:
int num;
Bar(int n){
num = n;
}
};
class FooPa
{
// Consider it empty
};
class Foo : public FooPa
{
Bar *b1, *b2;
Bar operator + ()// **I don't understand this function, how can I use it?**
{
int value= b1->num +b2->num;
Bar * b = new Bar(value);
return (*b);
}
};
我不明白函數「Bar operator +()」。他想數學增加「b1.num」和「b2.num」,然後返回一個新的對象。是否有意義?我如何使用這個新的運算符「+」,任何人都可以舉個例子?
運算符+的原型是錯誤的。你不能使用它。這並沒有提到內存泄漏和一切。 – SergeyA
缺乏經驗的程序員的投票問題是SO上的新時尚。 :P –
@SergeyA它是一個+一元運算符重載,除了內存泄漏外,它是很好的。 –