我有以下两个类:closePrime()和trigger()。
trigger()类具有一个动态分配的closePrime对象的对象数组:
//trigger.h
#include "closePrime.h"
using namespace std;
class trigger
{
private:
closePrime* objArray;
int size;
...
public:
trigger();
trigger(int s);
...
}
...
// trigger.cpp
trigger::trigger()
{
size = 2;
objArray = new closePrime[size];
}
trigger::trigger(int s)
{
size = s;
objArray = new closePrime[size];
}
是否可以重载加法或乘法运算符,以便在主驱动程序/我的驱动程序中,我可以按照以下方式进行操作:
int main()
{
// i'm not sure if this would be the syntax
trigger triggerObj + 3;
// or something like
trigger triggerObj * 3;
}
这等于说
int main()
{
trigger triggerObj(3);
}
我不熟悉运算符重载,所以我想知道是否可以同时使用这两个,或者不可以?我不确定即使在哪里也可以放置代码。让我知道是否需要分享更多信息。谢谢。
注意:没有STL
答案 0 :(得分:0)
trigger triggerObj + 3;
在该语言(c ++)中看起来不像是合法的构造。
但是,您可以将其修改为以下内容:
trigger triggerObj = trigger() + 3;
或
trigger triggerObj = whatever + 3;
然后重载+
,并在需要时重载=
。