1

operator/()クラスを分母として使用するためにオーバーロードする方法はありますか?

そのようです: int foo = 5 / object;

4

3 に答える 3

4

無料の関数を使用します。

int operator/ (const int, const MyClass &);

インターフェースのないプライベートメンバーにアクセスする必要がある場合は、クラス内の友達にもしてください。

friend int operator/ (const int, const MyClass &);
于 2012-07-21T02:31:00.403 に答える
3

のメンバー関数の代わりにfree関数を使用してくださいoperator/

二項演算子は通常、同じオペランドタイプを持っています。fooをとる非明示的なコンストラクターがあると仮定するとint、次のようになります。

struct foo
{
  foo(int i) {};
};

int operator/(foo const& x, foo const& y);
于 2012-07-21T02:30:57.983 に答える
0

無料の機能はあなたの友達です:

int operator/ (int, const MyClass &);
于 2012-07-21T02:31:32.657 に答える