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



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

  

user avatar   pansz 网友的相关建议: 
      

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

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

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




  

相关话题

  C++ 的常量后缀在什么情况下使用? 
  为什么很多大牛在写题的时候要加一堆宏? 
  怎么在事先未知将要输入数字的个数的情况下,将其全部赋值给一个数组? 
  学校和机构都建议孩子放弃 Python 转 C++,我该如何处理? 
  如何评价《c++并发编程实战》这本书? 
  MFC、WTL、WPF、wxWidgets、Qt、GTK 各有什么特点? 
  C++为何没有一个简便的调库方法? 
  C++在面向对象编程中,非虚继承和非虚析构函数的存在是为了解决什么问题? 能否都用虚继承和虚析构函数? 
  如何评价Qt Lite Project? 
  为什么招聘单片机工程师的时候要求精通C/C++? 

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





© 2025-06-24 - tinynew.org. All Rights Reserved.
© 2025-06-24 - tinynew.org. 保留所有权利