百科问答小站 logo
百科问答小站 font logo



C++可否将父类的对象cast子类,并调用子类的private函数? 第1页

  

user avatar   pansz 网友的相关建议: 
      

无论你掌握的是基类还是子类指针都不能调用private。只能调用public。

要想实现你所说的,可以定义一个public的虚方法。基类实现为空,子类实现为调用那个private方法。如此一来就根本不需要类型强转了。因为当真实对象实际是子类的时候,哪怕用基类指针保存这个对象,也能够调用到正确的虚方法。

题主对面向对象的多态性基础知识还需要学习。




  

相关话题

  c#中没有友元类那么这种设计是否不太合理,如何修改才能得到更好的方案? 
  你用Visual Studio调试过什么牛逼的源码/程序? 
  如何在运行时初始化静态成员变量? 
  有个人说C++程序入口是mainCRTStartup,另一个人说是main,然后打起来了,如何评理? 
  #define 不是简单的替换吗,为什么下面的代码错误? 
  有人对 C++ 基本数据类型采用 int x{5}; 的方式进行初始化吗? 
  C++怎样读取文件才有最快的速度? 
  我怎样成为@vczh一样的大神? 
  Linux 和 Windows 的内存申请机制有何不同? 
  C++异常处理写的代码太丑怎么办? 

前一个讨论
为什么很多游戏策划会做一些匪夷所思的操作,让游戏逐渐变凉?
下一个讨论
这个代码int函数无返回值且开-O2,for循环会无限循环,是什么原因?





© 2025-05-14 - tinynew.org. All Rights Reserved.
© 2025-05-14 - tinynew.org. 保留所有权利