1
我試圖讓一個運算符,將允許我添加一個整數到我的類之一,但我有麻煩如下。二元運算符重載和polymorpism
struct Base
{
//Will have value of zero
};
struct Derived : public Base
{
int value_;
};
int & operator+=(int & num, Base & b);
int & operator+=(int & num, Derived & d);
隨着
int & operator+=(int & num, Base & b)
{
return num;
}
int & operator+=(int & num, Derived & d)
{
num += d.value_;
return num;
}
運營商實現所以我有一個載體,我試圖來遍歷它和所有的值添加到一個整數。但是,即使那些Derived類型也不會更改總和。
如何使運算符重載多態?
圍繞整個想法有一些有趣的氣味,但無論如何,您應該提供* vector *的定義。第一個潛在的問題是所有的對象都被切成了「Base」... – 2012-04-07 00:32:10