C++中,对象相加需要自定义函数,那参数固定类型的话不是很麻烦?

如 a + b 。调用a中的operator+()函数,这个函数参数是b的类。

那如果 a + c a + d呢

那岂不是要自定义很多很多的operator+()函数了?

用模版
class a{
//....
public:
template<typename T>
a operator+(const T& r)const{
//运算并返回值,不能统一运算那就只能单独写

}
};
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-21
如果你确实需要,那就得定义那么多。如果你的a b c d各自都属于不同的类并且你认为+有意义有必要重载的话。
第2个回答  2013-07-21
可以使用强制类型转换
相似回答