社区
C++ 语言
帖子详情
=运算符被子类继承后,为何不可以直接调用
allen0228
2008-12-05 10:24:29
调用的时候需要加基类的标识符进行限制
为何是这样
望大家解释一下
...全文
76
6
打赏
收藏
=运算符被子类继承后,为何不可以直接调用
调用的时候需要加基类的标识符进行限制 为何是这样 望大家解释一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
allen0228
2008-12-05
打赏
举报
回复
[Quote=引用 2 楼 shailen126 的回复:]
否则编译器会认为是系统默认的一般的运算符操作,而不是你要重载的相关操作
[/Quote]
既然被public继承 子类就应该有这个运算符=重载的成员函数 那么在执行等于操作的时候
就应该先检查子类的成员函数 这样为何还会又系统默认这一说法 又不是没有
如果很容易解释的话 请告之 书上写的 我也不一定能理解啊
allen0228
2008-12-05
打赏
举报
回复
[Quote=引用 1 楼 taodm 的回复:]
《C++ Primer》,补课 函数重载解析过程 的章节。
[/Quote]
看样子 要搞本看看了
shailen126
2008-12-05
打赏
举报
回复
否则编译器会认为是系统默认的一般的运算符操作,而不是你要重载的相关操作
taodm
2008-12-05
打赏
举报
回复
《C++ Primer》,补课 函数重载解析过程 的章节。
allen0228
2008-12-05
打赏
举报
回复
[Quote=引用 5 楼 hongzao 的回复:]
引用 4 楼 suiye 的回复:
引用 2 楼 shailen126 的回复:
否则编译器会认为是系统默认的一般的运算符操作,而不是你要重载的相关操作
既然被public继承 子类就应该有这个运算符=重载的成员函数 那么在执行等于操作的时候
就应该先检查子类的成员函数 这样为何还会又系统默认这一说法 又不是没有
如果很容易解释的话 请告之 书上写的 我也不一定能理解啊
前面没错,子类是有那个运算符的重载函数.在执行时先检查子类…
[/Quote]
看书
hongzao
2008-12-05
打赏
举报
回复
[Quote=引用 4 楼 suiye 的回复:]
引用 2 楼 shailen126 的回复:
否则编译器会认为是系统默认的一般的运算符操作,而不是你要重载的相关操作
既然被public继承 子类就应该有这个运算符=重载的成员函数 那么在执行等于操作的时候
就应该先检查子类的成员函数 这样为何还会又系统默认这一说法 又不是没有
如果很容易解释的话 请告之 书上写的 我也不一定能理解啊
[/Quote]
前面没错,子类是有那个运算符的重载函数.在执行时先检查子类的成员函数也没错.
但是后面lz就没考虑全了.你的那个重栽函数的参数是父类,而系统的默认运算符的参数是子类,所以按匹配原则,系统的默认运算符优先级高,大致是这样.其实还要考虑到拷贝构造函数之说的,具体的有点复杂,lz还是去看下书.
c++基类指针指向
继承
类
调用
继承
类函数
本文探讨了C++中
运算符
重载的使用,特别是在类中重载
运算符
>>时遇到的挑战。由于友元函数不能作为虚函数,导致基类指针无法
直接
调用
继承
类中重载的
运算符
。文章提供了通过类转换解决这一问题的方法,并展示了如何在
继承
类中正确
调用
基类的友元函数。
c++ : 不能被
继承
的成员函数
C++中,构造函数、析构函数和赋值
运算符
重载不被
子类
继承
。构造函数初始化类对象,不
直接
继承
;析构函数非虚,不被
子类
继承
,但
子类
析构会
调用
父类析构;赋值
运算符
同样不
继承
,
子类
需自行实现并
调用
父类相应函数。理解这些机制对于避免内存泄漏和正确管理对象至关重要。
从0到1入门C++编程——05 类和对象之
运算符
重载、
继承
本文围绕C++展开,介绍了
运算符
重载,包括加号、左移、递增、赋值、关系和函数
调用
运算符
重载;还阐述了
继承
相关内容,如基本语法、
继承
方式、对象模型、构造与析构顺序、同名成员处理、多
继承
及菱形
继承
,且提到用虚
继承
解决菱形
继承
问题。
C++的“家传秘方”:赋值
运算符
(`=`) 是否会被
继承
?
本文深入解析C++中赋值
运算符
是否被
继承
的问题。虽然赋值
运算符
不会
直接
继承
,但编译器会自动生成并隐式
调用
基类的赋值操作;而自定义时必须显式
调用
基类赋值,否则导致数据不一致。通过实例与调试演示其机制。
特殊
运算符
重载及注意点、
继承
、组合、修饰权限、菱形
继承
本文围绕C++展开,介绍了特殊
运算符
重载,如赋值
运算符
=重载,指出部分
运算符
不能重载及重载注意点。还阐述了
继承
、组合概念,分析了两者优缺点,提及修饰权限,包括类中及
继承
时的权限情况,最后讲解了菱形
继承
及解决方法。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章