#include<iostream>
using namespace std;
class Time
{
private:
int hours;
int min;
friend void operator<<(Time t,ostream &co);
public:
Time()
{
hours = 0;
min = 0;
}
Time(int x, int y)
{
hours = x;
min = y;
}
};
void operator<<(Time t, ostream &co )//这里ostream 为什么只能使用引用?把&去掉就错了?
{
co << t.hours << ' ' << t.min;
}
int main()
{
Time f1(43, 54);
f1 << cout;
}
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
操作符重载 ostream为什么只能是引用 自己写的 Time类的对对象就没问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
Master Cui 2021-01-11 13:10关注因为不能对IO对象进行拷贝和赋值,无法用一个IO对象初始化另一个IO对象或给另一个对象赋值
如果是按照非引用方式传参,那么就对IO对象进行拷贝和赋值,违反了上述规则
具体示例见我的博客https://blog.csdn.net/Master_Cui/article/details/107309990
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-01-30 17:54回答 2 已采纳 因为 (str3 + str1) + str1的结果是一个常量,而<<的重载函数的参数没有用const关键字,所以无法输出一个MyString的常量,把重载函数改成 ostream& op
- 2022-02-11 09:50回答 2 已采纳 1、ostream为输出流2、&在这里为引用ostream& out为定义一个名字为out的引用型输出流对象重载时会用到它,具体作用就要看你函数是怎么实现的或者函数功能是什么了。
- 2015-12-22 19:32回答 2 已采纳 如果对于该类只存在对象+对象的情况,那就不需要用友元,用成员函数就可以了。 能不用友元尽量不用,毕竟友元函数破坏了类的封装性。
- 2022-05-01 02:03CodeWinter的博客 文章目录一、再谈构造函数1.1 初始化与赋值1.2 初始化列表(==重要==)1.3 explicit 关键字二、static 静态成员三、成员初始化的新玩法(C++11)四、友元4.1 友元函数4.2 友元类五、内部类六、再次理解封装七、再次...
- 2022-11-09 00:40回答 1 已采纳 引用相当于指针,确保在函数执行过程中,传递的是相同的对象,而不是对象的复制品。
- 2021-01-14 03:33回答 1 已采纳 会,不然为什么叫重载。
- 2018-09-20 18:56回答 1 已采纳 https://blog.csdn.net/mind_v/article/details/70228402
- 2025-02-16 09:25沐暖沐的博客 6)如果成员是没有默认构造函数的类,则必须使用初始化列表。7)拷贝构造函数也可以有初始化列表。8)类的成员变量可以不出现在初始化列表中。9)构造函数的形参先于成员变量初始化。
- 2020-04-16 05:54回答 2 已采纳 https://tieba.baidu.com/p/6265998042?red_tag=3512005220
- 2020-05-09 03:40回答 1 已采纳 # 问题解决的话,请点下采纳 ``` #include #define defaultValue 0 using namespace std; class Person{ protecte
- 2022-01-24 03:38回答 3 已采纳 +运算返回的是一个临时变量,p+q返回的是一个临时变量,<<重载运算符中用引用的时候(也就是用Point &p的时候),是对这个临时变量的引用,但是这个临时变量在+运算符重载函数结束后就被
- 2022-06-20 14:19慕雪华年的博客 本篇博客是学校大一下C++期末考察的要求,包含了C++中类和对象的大部分内容
- 2023-03-01 12:42伍伍1GB的博客 本博客致力于在短时间内教会大家C++要点难点,但编程学习不是以速度取胜,要厚积薄发。大家平时可以多阅读相关书籍以及文献,还在学校学习的同志们要抓住每一个可以进步的机会,不要等到了期末才开始悠悠醒转。
- 2024-01-18 07:32劲夫学编程的博客 / 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员...
- 2022-10-06 15:46includeevey的博客 全文将讲解《类和对象》,文章比较长,请慢慢观看!
- 2024-10-24 06:32ZLRRLZ的博客 C 语言实现 Stack 对比、类的默认成员函数、构造函数、析构函数、拷贝构造函数、赋值运算符重载、取地址运算符重载、再探构造函数、类型转换、static 成员、友元、内部类、匿名对象和对象拷贝时的编译器优化等内容,...
- 2024-03-27 04:04念来过倒字名qwq的博客 类与对象 内联inline与#define宏 引用和指针 nullptr与null auto 缺省参数 函数重载 this指针 默认成员函数 构造函数 析构函数 拷贝构造函数 赋值重载函数 取地址重载函数 const成员函数 const调用的权限方法与缩小 ...
- 2023-11-11 02:35Xpccccc的博客 C++入门篇3(类和对象【重点】)
- 2019-04-02 12:33筋脉尽断从零开始的博客 类与对象详解(下) 首先在这里感谢各位的大佬的阅读 如有不合理的地方 请各位大佬及时指出 蟹蟹! 内容: 1.类的6个默认成员 1.1 构造函数 1.2 析构函数 1.3 拷贝构造函数 1.4 赋值操作符重载 1.5 const...
- 2024-10-08 02:02Undoom的博客 希望这篇文章能帮助你理解C++中的类型转换,如果有具体的问题或不清楚的地方,欢迎继续讨论!静态成员变量在类内声明,在类外进行初始化。静态成员变量属于类本身,而不是某个具体的对象。静态成员变量可以通过类名...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司