istream 运算符重载 C++

2024-01-06

我正在尝试执行一个简单的 istream 运算符重载,但由于某种原因,一旦进入此函数,程序就会进入无限循环。 请帮忙!

my code:

#include <iostream>
#include <string>
using namespace std;

 class date{

int m_day,m_month,m_year;

public:

date(int day=1,int month=1,int year=2000){    //constructor
    if (day>0 && day<32 && month>0 && month<13){
        m_day =day;
        m_month=month;
        m_year=year;
    }
}


friend ostream& operator<< (ostream& out, const date& d);
friend istream& operator>> (istream& in, const date& d);
};


istream& operator>> (istream& stream, const date& d){              //overload >>
stream >> d.m_day;
return stream;

}

void main(){  

date date1;

cin>>date1;                   //check istream

getchar();
}

这段代码对我来说似乎是错误的,因为您正在尝试修改const对象(d)。

istream& operator>> (istream& stream, const date& d){              //overload >>
    stream >> d.m_day;
    return stream;    
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

istream 运算符重载 C++ 的相关文章

  • boost::asio + std::future - 关闭套接字后访问冲突

    我正在编写一个简单的 TCP 客户端来发送和接收单行文本 异步操作由 std future 处理 以便于超时阻塞查询 不幸的是 我的测试应用程序在破坏服务器对象时因访问冲突而崩溃 这是我的代码 TCP客户端 hpp ifndef TCPCL
  • 如何使用MemoryCache代替Timer来触发一个方法?

    以下方法通过等待已运行操作的结果来处理并发请求 对数据的请求可能会使用相同 不同的凭据同时出现 对于每组唯一的凭据 最多可以有一个GetCurrentInternal呼叫正在进行中 当准备就绪时 该呼叫的结果将返回给所有排队的服务员 pri
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 如何在 C# 中从 UNIX 纪元时间转换并考虑夏令时?

    我有一个从 unix 纪元时间转换为 NET DateTime 值的函数 public static DateTime FromUnixEpochTime double unixTime DateTime d new DateTime 19
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • 在 C# 中循环遍历文件文件夹的最简单方法是什么?

    我尝试编写一个程序 使用包含相关文件路径的配置文件来导航本地文件系统 我的问题是 在 C 中执行文件 I O 这将是从桌面应用程序到服务器并返回 和文件系统导航时使用的最佳实践是什么 我知道如何谷歌 并且找到了几种解决方案 但我想知道各种功
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • 自发布以来 PHP 计算时间

    我正在尝试创建一个新闻源 作为其中的一部分 我想向用户显示自新闻文章发布以来已经过去了多长时间 看起来像这样 发布时间 1分5秒前 然而我从我的功能中得到的只是这样 40年零11个月前 这就是我发送给函数的时间戳 该函数计算出自发布以来的时
  • 如何找到位置,emacs lisp函数绑定到键的位置?

    I m trying to figure out where M m is bound to back to indentation function When I issue C h k M m describe key I get th
  • 如何获取 WPF 列表框中选中的项目?

    我有一个 WPF 列表框 其中有复选框 但是如何获取已选中的项目列表 ListBox 是数据绑定到Dictionary
  • 函数参数中的“this”

    查看一些代码示例HtmlHelpers 我看到如下声明 public static string HelperName this HtmlHelper htmlHelper more regular params 我不记得在其他地方看到过这
  • ggplot2 facet_grid() strip_text_x() 基于因子的不同颜色

    有没有办法给名称着色或去除背景 不是实际网格的背景 正如这篇文章中所回答的那样 使用facet grid 有条件地更改面板背景 https stackoverflow com questions 9847559 conditionally
  • 为什么后台线程中未处理的异常不会导致应用程序域崩溃?

    我完全困惑了 我确信如果线程中存在未捕获的异常 NET 会关闭整个应用程序域 因此我从未对此进行过测试 但是我只是尝试了以下代码并且它没有失败 有人可以解释为什么吗 在 NET 4和3 5中尝试过 static void Main stri
  • 带参数的别名

    是否有可能使用 zsh 别名中的参数 像这样的事情 alias ssh nokia ssh root
  • ndb 和一致性:为什么在没有父级的查询中发生这种行为

    我正在使用 Python 和 ndb 做一些工作 但不明白为什么 我将发布上面的案例和代码 模型 py class Reference ndb Model kind ndb StringProperty required True crea
  • 混合单选按钮和文本字段

    我正在尝试将单选按钮和 text field 组合为单个值 f radio button system bacteria Bacteria f radio button system mammalian Mammalian f radio
  • overpass-api 方式查询包含坐标

    我正在尝试查询特定区域的酒店 不幸的是 我需要查询节点和路 因为有些酒店仅存储为路 有些则存储为节点 http overpass osm rambler ru cgi interpreter data 28way tourism hotel
  • Azure Web App 上的 URL 重写提供程序

    我们使用来自的 DbProviderURL 重写扩展性示例 http www iis net learn extensions url rewrite module using custom rewrite providers with u
  • 在 Neo4j 中查找集群

    你好 我有一个 neo4j 数据库 类似于下面 CREATE Person name Ryan TRADES gt fish Product name Fish ken Person name Ken TRADES gt fish mary
  • 如何取消绑定() .hover() 但不取消绑定.click()?

    我正在使用 Bootstrap 3 创建一个网站 并且还使用一个脚本 使用 hover 函数使下拉菜单出现在悬停时 我试图通过使用 enquire js 在小型设备上防止这种情况 我正在尝试使用以下代码取消绑定元素上的 hover 事件 d
  • 使用远程 Web 测试框架(BrowserStack 和 LambdaTest)时,chrome 上的表单输入条目失败 [重复]

    这个问题在这里已经有答案了 我的测试套件在本地以及使用 Chrome 的 gitlab 管道中运行良好 然而 当在远程测试框架上使用 Chrome 仅 运行它们时 它们会在登录页面上失败 我测试了 BrowserStack 和 LamdaT
  • 为什么声明浮点变量时需要在十进制数末尾添加“f”?

    我以前见过这个问题 然而 我对给出的答案并不满意 典型的响应是 Java 将数字视为双精度数 因为这是 JAVA 中的默认值 并在编译时给出不匹配错误 这种行为显然完全忽略了我对 float 声明的使用 我的问题是 如果我将变量类型声明为f
  • IIS 网络错误 (tcp_error)

    我在使用 IIS 时遇到问题 我在服务器上部署了一个Web项目 然后在该服务器上 本地 运行 就可以了 但是当我从另一台计算机连接时 我收到此消息 网络错误 tcp error 发生通信错误 操作超时 Web 服务器可能已关闭 太忙或遇到其
  • 以编程方式从布局中删除块

    我想根据通过前端路由器控制器登录的用户从产品视图页面中删除product options wrapper块 我知道我可以以编程方式附加一个新块 但我没有找到删除函数 尝试过某事 像那样 this gt getLayout gt unsetB
  • ES6 从 root 导入

    我目前正在玩 React Native 我正在尝试构建我的应用程序 但是它开始因导入而变得混乱 app components Loading js index ios js 现在 在我的index ios js我能够简单地做 import
  • Java:匹配字符串中的短语

    我在数据库和输入字符串中有一个短语列表 短语可能由一个或多个单词组成 我需要找出哪些短语出现在输入字符串中 在Java中是否有一种有效的方法来执行这种匹配 一个快速的破解方法是 基于组合短语构建正则表达式 构造一个集合 列出迄今为止尚未匹配
  • istream 运算符重载 C++

    我正在尝试执行一个简单的 istream 运算符重载 但由于某种原因 一旦进入此函数 程序就会进入无限循环 请帮忙 my code include