我正在尝试创建一个允许我在其中一个类中添加整数的运算符,但是我遇到了如下问题。
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类型的也不会改变总和。
如何让运算符重载多态?
答案 0 :(得分:0)
这是一位很好的博士。 dobbs为您的问题提供3种解决方案的文章http://drdobbs.com/cpp/200001978 其中一个,我在想同样的事情,就是你可以依靠你的操作员进行虚拟成员函数或辅助函数。