回答
使用免費的功能:
int operator/ (const int, const MyClass &);
如果需要訪問你有沒有接口的私有成員,讓你的類中的朋友,也是:
friend int operator/ (const int, const MyClass &);
什麼是免費功能?我從來沒有聽說過它。 – Dasaru 2012-07-21 02:36:10
@達斯魯,一個不包含在課堂中的人。在這種情況下,它是一個成員函數,它約束它將第一個參數作爲「MyClass *」,將其中一個打開。參數的順序對應於您調用它的方式,所以如果它在課程中,則不可能切換它們。 – chris 2012-07-21 02:36:27
@達斯魯:你也會看到他們叫'非會員'功能。 – Blastfurnace 2012-07-21 02:37:13
使用免費的功能,而不是一個成員函數爲operator/
。
二元運算符通常具有相同的操作數類型。假設foo
具有非顯式構造服用int
,你會:
struct foo
{
foo(int i) {};
};
int operator/(foo const& x, foo const& y);
- 1. operator +()和operator + =()
- 2. Prolog - > operator-operator expected
- 3. 重載operator-,operator <和operator>
- 4. 使用operator new和operator delete自定義內存池/分配器
- 5. operator || =
- 6. 過載的分段錯誤operator =
- 7. 分母(分母不運作)
- 8. groovy^operator
- 9. std :: operator中的「operator <<」不匹配
- 10. operator ++()和operator ++(int)有什麼區別?
- 11. 什麼是「:: operator new」和「:: operator delete」?
- 12. ||的功能operator
- 13. 'std :: operator <<'operator <<'不匹配'std :: operator <<
- 14. ruby operator「=〜」
- 15. C#'+ ='Operator
- 16. Operator!= vs <>
- 17. 重載運算符<< operator ==和operator!=
- 18. operator []重載C++
- 19. c中的addressof-operator#
- 20. void operator的功能()()
- 21. 的std ::可選的operator *()和operator - >() - 未定義的行爲
- 22. C++ operator =怪異behviour
- 23. MATLAB公分母
- 24. 理數分母
- 25. 分組父母
- 26. WWindow :: operator HWND(){return _hwnd; }
- 27. Sql or operator
- 28. Atomic Assignment Operator
- 29. operator + = yield 0
- 30. Mongo $ in operator performance
在[運算符重載](http://stackoverflow.com/questions/4421706/operator-overloading)上的這個優秀的SO貼子包含了關於實現二元算術運算符的好信息。 – Blastfurnace 2012-07-21 02:33:20