回答
由于@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