回答
由於@Mysticial指出的那樣,你需要重載operator>>
做到這一點。
那超載可以不是雖然是myClass
的成員。它必須是someClass
的成員,否則就是全局超載。
class someClass {
// ...
someClass &operator>>(myClass &);
};
或:
someClass &operator>>(someClass &, myClass &);
如果操作員沒有/不能改變someClass
對象的狀態,你可能想通過傳遞const引用的第一個參數(在這種情況下,你'd也返回一個const引用)。
當然,返回someClass
是不是真的需要,但它的這種運營商的正常接受的做法(它允許鏈接的運營商像a >> b >> c;
)
那麼如何編輯myClass,使其能夠「接收」某個類「發送它」的內容。我無法編輯某個類。 – Cheetah 2012-03-01 20:27:05
如上所示,如果你必須單獨離開'someClass',那麼你需要讓你的重載成爲全局的(通常是'myClass'的朋友)。正如Mehrdad指出的那樣,如果您使用的是名稱空間,那麼您很可能需要使用ADL才能找到它(您希望將其放在與myClass相同的名稱空間中)。 – 2012-03-01 20:33:06
您需要使用argument-dependent lookup ...我自己並沒有經常使用它,但是您需要用ADL重載operator >>
(請參閱鏈接)。
>>
是操作。你想超載operator>>
。簽名會是這樣的:
someClass& operator>>(someClass&, myClass&);
- 1. 我需要做些什麼來設置Visual Studio才能操作Excel文件?
- 2. 我需要做什麼才能讓Hash.from_xml()工作?
- 3. 我需要什麼才能刪除用戶的工作區?
- 4. 我需要添加什麼才能使此程序起作用?
- 5. 我需要學習什麼才能製作「Push Pop Press」動畫?
- 6. 爲什麼重載操作符需要返回=對象?
- 7. Android需要什麼才能返回findViewById()?
- 8. 爲什麼我的桌子需要這麼長的時間才能加載
- 9. 爲什麼我的WP7設置需要這麼長時間才能加載?
- 10. 爲什麼我的網站需要這麼長時間才能加載?
- 11. C#需要操作符重載
- 12. 我需要輸入什麼才能訪問我的模型?
- 13. 爲什麼此Power Query操作需要花費很多時間才能完成?
- 14. 爲什麼Rails需要15+秒才能加載Ruby 1.9?
- 15. 寫C++操作符超載?
- 16. 爲什麼我需要使用超時?
- 17. 爲什麼String.split需要管道分隔符才能被轉義?
- 18. Cassandra:什麼操作需要重啓?
- 19. 爲什麼我的基本Heroku應用需要兩秒鐘才能加載?
- 20. 爲什麼gammu需要sudo才能工作?
- 21. 爲什麼curl需要.lib和.dll才能正常工作?
- 22. jQuery DataTables - 它需要什麼才能使它工作?
- 23. 我需要做些什麼才能將DIB轉換爲BMP?
- 24. 我需要做什麼才能在vb.net中使用xml?
- 25. 爲什麼我需要打字才能使用打字稿?
- 26. 我需要做什麼才能使此修剪方法有效?
- 27. 爲什麼我需要root權限才能運行GDB?
- 28. 我需要什麼ASP.NET權限才能訪問串行端口?
- 29. 爲什麼我的查詢需要2分鐘才能運行?
- 30. 我需要做什麼才能獲得計劃支付?
說吧,''>> operator ... – Mysticial 2012-03-01 20:18:29