運營商超載如何適應功能超載?我的意思是我不太明白如何使用已超載itslef的函數來重載運算符。運營商超載如何適應功能超載
3
A
回答
0
Operator
只是給中綴函數(在它們的參數之間寫的)賦予的一個時髦名稱。所以,1 + 2
只是一個+(1, 2)
。 Overloading
意味着你定義幾個函數(或運營商,這是同樣的事情)是這樣的:
int square(int x);
double square(double x);
int operator + (int x, int y);
double operator + (double x, double y); // *
當這些被調用別的地方,C++不僅決定的名字,同時也得到了類型調用哪一個的實際論點。所以當你寫square(5)
第一個被調用,當你寫square(5.0)
第二個。請注意,在更復雜的情況下,重載分辨率(確定調用哪個函數)爲much more tricky。
也許你的意思的情況下,當你的操作是不超載的功能,但作爲一個方法(即它的第一個參數使用thiscall
傳遞),並且你想重載一個二元運算符在它的第二個參數。 Here's how it's done.
(*)其實,你不能宣佈operator +
爲int
和double
,因爲這是建立在爲編譯器。
+0
Ohhhh。 Ook我明白了,我只是對什麼是重載意味着什麼,以及如何使用它的函數看起來很困惑。 – JustAnotherUser
相關問題
- 1. 如何超載運營商+?
- 2. 運營商==超載功能失敗
- 3. 運營商超載
- 4. 運營商=超載
- 5. 超載運營商=
- 6. 超載運營商新,沒有超載運營商刪除
- 7. 超載運營商:: HaskellNewbie
- 8. 運營商<<超載
- 9. 運營商+超載問題
- 10. 超載的「新」運營商
- 11. 超載運營商<<
- 12. 超載運營商 - >
- 13. 試圖超載+運營商
- 14. 超載運營商<
- 15. D運營商超載
- 16. 運營商+超載左右
- 17. 超載「的」運營商
- 18. 是否有可能超載「?」運營商?
- 19. 超載運營
- 20. 小於運營商不能超載爲會員功能
- 21. C++的朋友功能 - 運營商超載istream >>
- 22. 運營商超載的運營商優先級?
- 23. 運營商在python超載與運營商
- 24. 運營商超載:內存泄漏
- 25. 麻煩理解運營商超載
- 26. 超載運營商的STL矢量
- 27. F#(.. ..)運營商使用/超載
- 28. 即使我超載`運營商<<`
- 29. 運營商超載的類型
- 30. 解釋運營商超載在C++
用什麼編程語言?你能提供你想要的例子嗎? – zch