pbs666 2021-06-12 22:55 采纳率: 100%
浏览 25
已采纳

为什么c++的运算符重载函数不具有多态的特性

(14条消息) 为什么C++赋值运算符重载函数不能被继承?_Sean.W的专栏-CSDN博客

按照他上面的说法:

我写了两个类:

如图,显式声明了赋值运算符,然后我将基类的赋值运算符设置为virtual状态:

实现:

然后我声明了两个对象:

其中第二个变量的引用类型为Fruit,实际类型为Apple

然后:

按照多态的机制,这里应该调用的是Apple::operator=()

然而:

很显然与那篇文章的结论不符合

所以说为什么多态机制会消失?

 

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-06-12 23:45
    关注

    多态一般只用于对象,函数和运算符只能称为重写或者重载。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 博通raid 的写入速度很高也很低
  • ¥15 目标计数模型训练过程中的问题
  • ¥100 Acess连接SQL 数据库后 不能用中文筛选
  • ¥15 用友U9Cloud的webapi
  • ¥20 电脑拓展屏桌面被莫名遮挡
  • ¥20 ensp,用局域网解决
  • ¥15 Python语言实验
  • ¥15 我每周要在投影仪优酷上自动连续播放112场电影,我每一周遥控操作一次投影仪,并使得电影永远不重复播放,请问怎样操作好呢?有那么多电影看吗?
  • ¥20 电脑重启停留在grub界面,引导出错需修复
  • ¥15 matlab透明图叠加