有没有办法重载operator/()
以使用类作为分母?
像这样:
int foo = 5 / object;
使用自由函数:
int operator/ (const int, const MyClass &);
如果它需要访问您没有接口的私有成员,请在您的类中将其设为好友:
friend int operator/ (const int, const MyClass &);
使用自由函数而不是成员函数operator/
。
二元运算符通常具有相同的操作数类型。假设foo
有一个采用 的非显式构造函数int
,您将拥有:
struct foo
{
foo(int i) {};
};
int operator/(foo const& x, foo const& y);
免费功能是您的朋友:
int operator/ (int, const MyClass &);