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



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

  

user avatar   pansz 网友的相关建议: 
      

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

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

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




  

相关话题

  如何评价 xmake? 
  如何评价 C++ 11 auto 关键字? 
  在用 STL 和 Boost 的,都是什么人? 
  能否把高版本的libstdc++静态连接到一个只暴露纯C接口的动态库中,给低版本c++程序调用? 
  c/c++语言中,如果不把声明和实现分开,而是直接一起写到头文件中,会有什么不好的影响? 
  C/C++语言指针究竟难在哪里? 
  为什么标准库的map要insert(pair(key,value))而不是insert(key,value)? 
  int *p=new int,当free(p)时free函数是怎么知道要释放4个字节而不是5个的? 
  如何把一个文件快速分发到 100w 个服务器? 
  编译器生成的汇编语句执行顺序为什么与C代码顺序不同? 

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





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