回答
使用免費的功能:
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. 分母(分母不運作)
- 2. 過載的分段錯誤operator =
- 3. groovy^operator
- 4. ruby operator「=〜」
- 5. C#'+ ='Operator
- 6. 重載運算符<< operator ==和operator!=
- 7. operator []重載C++
- 8. c中的addressof-operator#
- 9. void operator的功能()()
- 10. 的std ::可選的operator *()和operator - >() - 未定義的行爲
- 11. 理數分母
- 12. 分組父母
- 13. Sql or operator
- 14. operator + = yield 0
- 15. Mongo $ in operator performance
- 16. ShellScript 1:[:[:unexpected operator
- 17. in operator in C#
- 18. * -Operator in gas
- 19. Python和HTML'%Operator'
- 20. VB Macro Like Operator
- 21. Stream Operator Overloading
- 22. 使用|| operator
- 23. eval String-cmp-operator?
- 24. Java - >> operator?
- 25. Octave operator \ error
- 26. Overloading >> operator
- 27. Cassandra - CQL OR Operator
- 28. Octave/Matlab:vectorising'=='operator?
- 29. class Bar {operator Foo(); }
- 30. the:not operator in jquery
在[運算符重載](http://stackoverflow.com/questions/4421706/operator-overloading)上的這個優秀的SO貼子包含了關於實現二元算術運算符的好信息。 – Blastfurnace 2012-07-21 02:33:20