重载输入输出运算符

2023-11-07

原文链接:http://blog.csdn.net/lyh__521/article/details/49601489

重载输入输出运算符

我们平时可以用流 std::cout<<str<<n ; std::cin>>str>>n ; 输出、输入字符串和整型等内置类型的值。但是对于我们自定义的类,比如 Student 类,却不能直接通过 cout<<Student 或 cin>>Student 这样的形式来输出类的内容或给类赋值。怎么办呢?我们可以通过重载输出、输入运算符,让自定义的类也支持这样的操作。

重载输出运算符

  1. 通常情况下,输出运算符的第一个形参是一个非常量的ostream 对象的引用。(非常量是因为向流写入内容会改变其状态; 用引用是因为流对象不支持复制)
  2. 第二个参数一般来说是一个常量的引用,该常量是我们想要输出的类类型。(用引用是因为我们希望避免复制实参; 用常量是因为通常打印对象的时候不需要改变对象的内容)
  3. 输出运算符应尽量减少格式化的操作,尤其是换行符,这样有利于用户对输出格式的控制。
  4. 一般会声明为友元函数(friend),这样输出运算符函数才能使用类的私有成员
  5. 输入、输出运算符都必须是非成员函数。否则,他们的左侧运算对象将是我们的类的一个对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重载输入输出运算符 的相关文章

  • 应用二进制接口(ABI) 说明——Solidity中文文档(7)

    写在前面 HiBlock区块链社区成立了翻译小组 翻译区块链相关的技术文档及资料 本文为Solidity文档翻译的第七部分 应用二进制接口 ABI 说明 特发布出来邀请solidity爱好者 开发者做公开的审校 您可以添加微信baobaot
  • 剪映专业版 for Mac(视频剪辑工具)

    剪映专业版是一款非常实用的视频剪辑软件 它可以满足您进行视频制作的需要 使用剪映mac版能够轻松对视频进行各种编辑 包括卡点 去水印 特效制作 倒放 变速等 还有专业风格滤镜 精选贴纸给你的视频加点乐趣 剪映专业版安装教程 在本站下载完成

随机推荐