社区
C++ 语言
帖子详情
【交流学习】MyString的几个问题
brk1985
2011-07-21 10:00:48
1. MyString中运算符=重载,返回MyString类对象的引用,这里为什么要使用引用?能具体讲讲吗?
2. 输入输出运算符>>、<<重载,为什么要使用友元函数?
2. 书上说友元函数(运算符重载函数为友元函数)不能范围MyString类私有成员,由于重载了操作符[],可以通过下标索引访问。友元函数不是能通过对象名访问类私有成员的吗?
...全文
220
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
打赏
举报
回复
第三个问题没人回答下吗???
梅科尔工作室Cangjie Magic探索-土壤医生智能体
本项目将带领读者探索 Cangjie Magic 的开发环境配置、智能体构建方法,并通过土壤医生智能体这一实际应用案例,展示其在农业领域的强大潜力。
长上下文工具状态丢失工具|原创源码+测试+离线报告
原创本地工程分析工具合集单项资源。每个压缩包均包含完整 JavaScript/Node.js 源码、3 项自动化测试、可复现合成示例、离线 HTML/JSON/SVG 报告、1080×720 真实运行效果图、README、运行说明、功能清单、MIT License 及原创授权声明。Node.js 18+ 可直接运行,零第三方运行依赖,适合开发者进行工程预检、质量审查和交付复核。
发票PDF合并工具,支持批量排版、重命名与查重(源码附安装部署教程)
一款基于 Python + PySide6 开发的跨平台桌面应用程序(支持windows和macos),专门用于将多张发票 PDF 文件合并排版成指定格式。软件支持多种布局方式,可满足不同场景下的发票 软件架构 前端框架: PySide6 (Qt 跨平台 GUI 框架) PDF 处理: PyMuPDF (fitz) 编程语言: Python 3 打包工具: PyInstaller 功能特性 支持拖拽导入 PDF 文件,亦可点击"添加"按钮选择文件 布局自定义:可以从1x1到10x10的范围内自由选择排版布局 双模式处理:普通模式(保留PDF矢量信息和发票监制章)、图像模式(高精度图片转换) 打印顺序:支持按列表顺序、开票日期、开票金额三种方式排序打印 实时预览:添加文件后自动生成合并预览图,支持滚轮缩放查看 文件列表显示:文件名、金额、开票日期、路径、修改日期、大小 文件管理:支持上移/下移调整顺序、右键菜单(打开文件、在文件夹中显示) 支持删除选中、删除全部操作 批量重命名:支持根据发票字段(发票类型、发票号码、商品类型、开票日期、买方名字、销方名字、金额)自定义规则批量重命名文件 支持合并后直接打印 重复发票检查 :合并前检查是否有重复发票,避免重复打印 导出列表:支持导出当前文件列表为Excel文件,方便后续处理 一式两份:支持合并后打印一式两份发票,方便抵扣和存档 Win7兼容 :搭配VxKex Next可在Win7下正常使用
Text2vec: Text to Vector
文本向量表征工具,它能将文本高效转化为向量矩阵。该工具支持Word2Vec、RankBM25、Sentence-BERT、CoSENT等多种文本表征和文本相似度计算模型,且具备即插即用的特性。
真极简纯净轻量版物联网平台
单租户,基础精简纯净轻量版物联网平台版物联网云平台
C++ 语言
65,212
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章