社区
C++ 语言
帖子详情
【交流学习】MyString的几个问题
brk1985
2011-07-21 10:00:48
1. MyString中运算符=重载,返回MyString类对象的引用,这里为什么要使用引用?能具体讲讲吗?
2. 输入输出运算符>>、<<重载,为什么要使用友元函数?
2. 书上说友元函数(运算符重载函数为友元函数)不能范围MyString类私有成员,由于重载了操作符[],可以通过下标索引访问。友元函数不是能通过对象名访问类私有成员的吗?
...全文
248
8
打赏
收藏
【交流学习】MyString的几个问题
1. MyString中运算符=重载,返回MyString类对象的引用,这里为什么要使用引用?能具体讲讲吗? 2. 输入输出运算符>>、<<重载,为什么要使用友元函数? 2. 书上说友元函数(运算符重载函数为友元函数)不能范围MyString类私有成员,由于重载了操作符[],可以通过下标索引访问。友元函数不是能通过对象名访问类私有成员的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
KWDIWT
2011-07-21
打赏
举报
回复
[Quote=引用 4 楼 brk1985 的回复:]
引用 1 楼 luciferisnotsatan 的回复:
MyString 是什么?
1 不返回引用,会产生一个临时变量。如果返回指针,那么 a=b=c这种连等没法写了。
2 不用友元,访问不了私有成员。那就没意义了
不用友元、可以作为类成员函数呀。。。发现作为类成员函数不可取,使用重载后的<<运算符,<<(cout,str2);运行也是有问题,也不符合习惯思维。。。第三个……
[/Quote]
要是定义为类的成员函数,左操作数只能是该类类型的对象,这个用法与某些操作符使用方式相反(如输出操作符), 输出操作符左操作数必须为ostream类型...
brk1985
2011-07-21
打赏
举报
回复
[Quote=引用 1 楼 luciferisnotsatan 的回复:]
MyString 是什么?
1 不返回引用,会产生一个临时变量。如果返回指针,那么 a=b=c这种连等没法写了。
2 不用友元,访问不了私有成员。那就没意义了
[/Quote]
不用友元、可以作为类成员函数呀。。。发现作为类成员函数不可取,使用重载后的<<运算符,<<(cout,str2);运行也是有问题,也不符合习惯思维。。。第三个问题是不是书本上的问题,友元函数肯定能通过对象名访问类私有成员char* str呀?
至善者善之敌
2011-07-21
打赏
举报
回复
[Quote=引用 1 楼 luciferisnotsatan 的回复:]
MyString 是什么?
1 不返回引用,会产生一个临时变量。如果返回指针,那么 a=b=c这种连等没法写了。
2 不用友元,访问不了私有成员。那就没意义了
[/Quote]
+++1 正解
brk1985
2011-07-21
打赏
举报
回复
[Quote=引用 1 楼 luciferisnotsatan 的回复:]
MyString 是什么?
1 不返回引用,会产生一个临时变量。如果返回指针,那么 a=b=c这种连等没法写了。
2 不用友元,访问不了私有成员。那就没意义了
[/Quote]
MyString ,,,编程对String类的实现。。。
luciferisnotsatan
2011-07-21
打赏
举报
回复
MyString 是什么?
1 不返回引用,会产生一个临时变量。如果返回指针,那么 a=b=c这种连等没法写了。
2 不用友元,访问不了私有成员。那就没意义了
brk1985
2011-07-21
打赏
举报
回复
[Quote=引用 7 楼 kwdiwt 的回复:]
不能范围MyString类私有成员 //是什么意思?
[/Quote]
访问。。。搜狗输入法问题。。。
KWDIWT
2011-07-21
打赏
举报
回复
不能范围MyString类私有成员 //是什么意思?
brk1985
2011-07-21
打赏
举报
回复
第三个问题没人回答下吗???
CAD+说明书三面翻转广告牌设计
CAD+说明书三面翻转广告牌设计
Timeseries-Baseline-Drift-Risk-Gate-v1.0-原创源码与文档.zip
本批资源均为独立原创的本地优先 JavaScript 工程工具,包含完整源码、README、MIT License、原创与授权声明、可复现示例、3 项自动化测试、离线 JSON、HTML、SVG 报告与 1080×720 真实运行截图;适合前端开发、智能体工程、质量验证和技术审计学习使用。无需复制或依赖榜单项目源码、模型权重及第三方受限素材,Node.js 18+ 可直接运行。
政府科技管理部门如何高效提升区域科技成果转化效率?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
高校科研管理人员需要哪些工具提升成果转化效率?.docx
高校科研管理人员需要哪些工具提升成果转化效率?
Crawl-Access-Readiness-Risk-Gate-v1.0-原创源码与文档.zip
本批资源均为独立原创的本地优先 JavaScript 工程工具,包含完整源码、README、MIT License、原创与授权声明、可复现示例、3 项自动化测试、离线 JSON、HTML、SVG 报告与 1080×720 真实运行截图;适合前端开发、智能体工程、质量验证和技术审计学习使用。无需复制或依赖榜单项目源码、模型权重及第三方受限素材,Node.js 18+ 可直接运行。
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章