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