有没有办法重载operator/()
以使用该类作为分母?
像这样:
int foo = 5 / object;
答案 0 :(得分:4)
使用免费功能:
int operator/ (const int, const MyClass &);
如果需要访问您没有界面的私人会员,请将其作为您班级中的朋友:
friend int operator/ (const int, const MyClass &);
答案 1 :(得分:3)
使用免费功能代替operator/
的成员函数。
二元运算符通常具有相同的操作数类型。假设foo
有一个非显式构造函数采用int
,你会得到:
struct foo
{
foo(int i) {};
};
int operator/(foo const& x, foo const& y);
答案 2 :(得分:0)
免费功能是你的朋友:
int operator/ (int, const MyClass &);