如何在C ++中的自定义类上使用算术运算符(+,*等)?

时间:2015-02-03 13:02:12

标签: c++ class operators

考虑这段代码,我在其中定义了一个名为Thing的类:

 1 class Thing{
 2     public:
 3         int things;
 4         int stuff;
 5 };
 6
 7 int main(){
 8     Thing foo, bar;
 9     foo + bar;
10     return 0;
11 }

此问题涉及第9行。尝试在不是+int等对象之间应用float运算符会引发错误,如预期的那样:

no match for 'operator+' in 'foo + bar'

所以这是我的问题。为了进行操作Thing,我需要对Thing + Thing = valid output的定义做些什么?

例如,foo + bar = foo.things + foo.stuff + bar.things + bar.stuff

0 个答案:

没有答案