关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
为什么赋值运算符不能写成友元函数,只能写成成员函数呢?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
泡泡牛奶 2022-12-28 19:05关注- 当一个类没有默认构造函数(default constructor)、析构函数、拷贝构造函数、赋值操作符函数,(这些函数都属于成员函数)编译器会自动声明一个
- 友元函数不算成员函数,只是可以访问类里的成员
- 结合上面两点,当你通过友元函数重载了一个赋值函数,编译器会发生冲突(不知道调用哪一个函数),所以会报错
- 小建议(不重要,可忽略):运算符重载考虑到可以连续赋值情况,一般返回值推荐返回这个类的引用
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-10-05 10:25回答 3 已采纳 因为f1不知道f2::input是个什么东西
- 2022-03-28 09:44回答 1 已采纳 在 TripleMatrix 类中定义友元 friend bool matrixAdd(TripleMatrix a, TripleMatrix b, TripleMatrix& result);代码
- 2015-04-16 17:43回答 2 已采纳 C#不支持友元。VB倒是支持,不过和C++的友元不是一回事。VB的友元相当于C#的internal 如果你想让一个类操作另一个类的私有成员,可以定义为嵌套类
- 2022-10-25 14:32韦凯峰Linux编程学堂的博客 如果将运算符重载函数作为成员函数,它可以通过 this 指针自由地访问本类的成员变量,因此,可以少写一个函数的参数,但是,必须要求运算表达式的第一个参数(即运算符左侧的操作数)是一个类对象,而且,与运算符...
- 2023-01-10 12:30回答 1 已采纳 c++要使用一个东东,必然要在使用之前定义它
- 2022-03-17 09:28回答 1 已采纳 #include <iostream> using namespace std; class Myclass { public: Myclass(int a, int b)
- 2021-12-13 16:33回答 2 已采纳 // g++ -Wall -std=c++17 main.cpp #include <iostream> #include <numeric> class Rationa
- 2018-06-10 12:29Yngz_Miao的博客 运算符重载 对于面向对象的程序设计来说,运算符重载可以完成两个对象之间的复杂操作...为了重载运算符,首先要定义运算符重载函数,它通常是类的非静态成员函数或者友元函数,运算符的操作数通常也应为对象。 定...
- 2021-01-09 08:36回答 1 已采纳 这是因为你加了名称空间,相当于加了作用域。Array成员函数的实现,以及友元函数的实现,同样需要放在Array类所在的名称空间内。 把rnyarray.cpp里的实现代码放在名称空间内即可:
- 2021-10-15 01:23回答 1 已采纳 有时候内联函数不需要你显示声明,编译器也会自动优化成内联的
- 2022-05-25 07:57回答 2 已采纳 声明的友元类的意思是友元类可以访问当前类的私有成员。给你提供2中写法,一种是使用友元类: class Boy { public: Boy(string name,int age) {
- 2022-04-24 07:43chenruhan_QAQ_的博客 C++编程 友元函数、友元类、运算符重载 案例详细解析
- 2024-12-21 08:31South_Rosefinch的博客 友元与运算符重载
- 2024-04-22 09:39sunny-ll的博客 在C++编程语言中,友元函数(Friend Function)是一种特殊的函数,具有访问类中私有成员和保护成员的权限,尽管它不是类的成员函数。友元函数的存在使得类的设计更加灵活,能够在需要时授予外部函数访问类的私有成员...
- 陈宸-研究僧的博客 二、运算符重载碰上友元函数 三、可重载的运算符 四、自增自减(++/--)运算符重载 五、赋值(=)运算符重载 六、等于和不等于(==、!=)运算符重载 七、不要重载&&、|| 八、符号重载总结 一、运算符重载...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司