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



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

  

user avatar   pansz 网友的相关建议: 
      

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

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

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




  

相关话题

  是不是后置类型语言的函数一定要加关键字,不加关键字编译器识别不出吗? 
  C++中函数返回的过程是什么样的? 
  低耦合或代码重复在该情况中该如何抉择? 
  c++循环里面定义重名为什么不报错? 
  请问学 C 有必要死磕指针吗? 
  如何看待 Rust 这门语言? 
  有没有必要让 12 岁孩子学 C++? 
  倒序输出字符串c++为啥不行? 
  C++ 中,如果指针换了被指向的东西,那被指向的原来的东西(是被 new 出来的)所占的内存会立刻被释放吗? 
  <<深度探索c++对象模型>>中的虚继承看着蛋疼,感觉这在实际中也没多大用,需要继续深究吗? 

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





© 2025-01-31 - tinynew.org. All Rights Reserved.
© 2025-01-31 - tinynew.org. 保留所有权利