std::ostream 的重载 << 运算符

2023-11-29

ostream& operator <<(ostream& osObject, const storageRentals& rentals)
{
    osObject << rentals.summaryReport();
    return osObject;
}

summaryReport()是一个 void 函数,它给了我一个错误:

没有运算符“

但如果我改变的话错误就不存在summaryReport函数到int,但我遇到的问题是你必须返回一个值,并且它正在将其打印在屏幕上。

void storageRentals::summaryReport() const
{
   for (int count = 0; count < 8; count++)
      cout << "Unit: " << count + 1 << "    " << stoUnits[count] << endl;
}

有什么办法可以超载吗cout <<带有 void 函数?


你应该定义summartReport taking ostream&作为参数,如下所示:

std::ostream&  storageRentals::summaryReport(std::ostream & out) const
{
    //use out instead of cout
    for (int count = 0; count < 8; count++)
        out << "Unit: " << count + 1 << "    " << stoUnits[count] << endl;

    return out; //return so that op<< can be just one line!
}

然后将其称为:

ostream& operator <<(ostream& osObject, const storageRentals& rentals)
{
    return rentals.summaryReport(osObject); //just one line!
}

顺便说一下,它不叫“超载计算”。你应该说,“超载operator<< for std::ostream.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

std::ostream 的重载 << 运算符 的相关文章

随机推荐

  • 在Java中将base64字符串转换为图像

    我有一个通过 JSON 字符串发送给我的图像 我想在我的 Android 应用程序中将该字符串转换为图像 然后显示该图像 JSON 字符串如下所示 data image png base64 iVBORw0KGgoAAAANSUhEUgAA
  • WinAPI C++ 客户端在读取之前检测匿名管道上的写入

    我正在编写一个 C Windows 客户端控制台应用程序 该应用程序从 STDIN 上的匿名管道读取数据 我希望能够按如下方式使用我的程序 echo input text here my app exe 并在应用程序中使用通过管道输入的文本
  • 为什么我的 JLabel 没有显示

    我正在调用此方法 称为检查我的抽象类之一 但由于某种原因 我添加到 JPanel 面板 的 JLabel 问题 没有显示 为什么会出现这种情况 任何解释 我都使用重绘和验证方法 但仍然没有显示任何内容 您遇到的问题是您阻塞了事件调度线程 阻
  • 了解 Java 中的一个大公司项目 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 理解java大公司项目的最好方法是什么 关于这个主题 有一个不错的播客 采访 Dave Thomas 务实的程序员 Dave here 他称之为 软件考古学 由于许多不同的原因 组织经常失
  • 将强类型属性名称作为参数传递

    我有一个收藏IEnumerable
  • mvc4 中 Global.asax 中的会话超时重定向

    我试图检测会话何时结束 然后在我的全局 asax 文件中完成此操作后将用户重定向到主页 我正在使用我发现的下面的代码here 全局 asax protected void Session Start if Context Session n
  • Razor 页面中 foreach 循环内的表单

    我有一个标准的 Razor 页面 其中列出了我的数据库中的所有订单 它的编码非常标准 IList
  • 是否可以在 THREE.js 中启用无限数量的渲染器?

    为了避免 XY 问题 让我解释一下我来自哪里 我想使用 THREE js 使用同一时间轴绘制大量堆叠在一起的波形 波形只是三线 我通过修改正交相机的视图范围来实现这些波形的缩放 平移 缩放 我最初尝试完成此任务 导致我创建多个具有固定高度的
  • 在 Laravel 5.5 中使用 str_limit 函数限制文本

    我一直在尝试限制我的博客内容文本str limit在我对其应用字符限制之前 它工作得很好 请查看我的刀片文件的代码中缺少什么 str limit blog gt content 在默认限制下工作正常 在视图上显示有限的文本 但是当我应用任何
  • PrimeFaces:验证时的条件更新

    是否可以仅在验证成功时有条件地更新 JSF 组件 我希望能够做类似的事情
  • 为什么我的浮点值无法正确打印?

    我正在尝试打印浮点值 0x40a00000 和 0xc0200000 但是我打印出来的值和根据 IEEE 754 浮点转换器的正确值 https www h schmidt net FloatConverter IEEE754 html 完
  • 如何让 Visual Studio 识别 XAML 更改?

    我刚刚开始使用 WPF 所以这里可能缺少一些简单的东西 我有一个正在 VS 2010 中编辑的窗口 当我手动更改 XAML 然后运行应用程序 F5 时 窗口仍保持编辑之前的状态 但是如果我进行重建然后运行应用程序 我的更改就会显示 有什么方
  • @Component Hibernate 类

    我在程序中休眠了带注释的类 由于我正在运行一个 Spring 项目 我已将它们包含在 servlet xml 文件中 com student dto 是实际的包名称 并在联系人实体上添加了 Component 有没有一种方法可以自动添加 C
  • R 中的捷克语编码

    我在新计算机上安装了 RStudio 并出现了编码问题 当我在控制台中键入带重音的文本 不涉及文件写入或读取 只是普通控制台 时 我丢失了捷克语口音 如本示例所示 请注意带重音的 N 和 gt uf uf ufi ky 1 Nuf nuf
  • C#cefsharp浏览器尝试设置代理[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我不太擅长使用 CefSharp 浏览器 所以我需要一些外部帮助 using System using System Collections Generic using System Co
  • npm @types 包的类型 globalDevDependency 的等价物是什么?

    我想升级一个 电子邮件受保护 项目到 tsc 2 并在流程沟中typings从我的工具链 对于常见的依赖项来说这不是问题 因为这些依赖项来自我的typings json dependencies bluebird registry npm
  • Matlab:打印符号方程

    我有一个符号方程 la 2x 3y 4z 0 问题是我想将其与我正在输入的完整句子一起打印到屏幕上 我希望在终端中显示 整流平面的方程为 2x 3y 4z D 我是 Matlab 新手 无法找到适合于此的函数 谢谢 蛇 您可以使用CHAR符
  • Tkinter 中的 Matplotlib 绘图 - 每次更新都会添加新的导航工具栏?

    我正在开发 Tkinter GUI 根据用户输入以交互方式生成 Matplotlib 绘图 为此 需要在用户更改输入后重新绘制 我已经让它原则上工作 但想包括NavigationToolbar 但是 我似乎无法获得更新NavigationT
  • 在 R 中的向量中保持字符串出现的滚动计数

    我的问题最好通过一个快速而简单的示例来解决 my strings c apple banana carrot apple apple dairy banana eggplant flowers flowers apple banana my
  • std::ostream 的重载 << 运算符

    ostream operator lt lt ostream osObject const storageRentals rentals osObject lt lt rentals summaryReport return osObjec