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



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

  

user avatar   pansz 网友的相关建议: 
      

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

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

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




  

相关话题

  Linux C++ 服务器端这条线怎么走?一年半能做出什么? 
  为什么说 goto 是一种不好的用法? 
  2022年学C++开发好比49年入国军,没什么公司在用C++了? 
  对容器类做改变的设计是否存在天生的错误? 
  如何评价不认为C++三大特性是封装、继承、多态的程序员? 
  为什么栈相对于堆很小? 
  C++ 运动完上一个函数到下一个函数时,上一个函数里的变量值(结构体变量)为什么没保留住,变成零了? 
  为什么大多数的 C++ 的开源库都喜欢自己实现 string? 
  指针是如何记住步长的? 
  为什么使用virtual关键字在C++与C#会出现不同的效果?求解答。 

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





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