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



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

  

user avatar   pansz 网友的相关建议: 
      

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

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

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




  

相关话题

  C++整型有__int8、__int16、__int32等等,为什么还要short、int、long? 
  运行时异常处理程序是如何实现的? 
  为什么现在招聘C++程序员这么难? 
  C++20 vs Rust,谁胜谁败? 
  c++怎么在1到n这些数中随机产生k(k<n)个?当然,k个数互不相等。有什么比较好的写法吗? 
  fopen()的第二个参数为什么会采用字符串形式? 
  C++的move构造是否是设计失败的? 
  C++ 和Java 的 double 类型都是 8 字节,为何 C++ 存不下 3.1415926 ? 
  如果人生有的选,18岁的你凭实力拿到清北录取通知书和因为房产红利变成资产总量三千万的家庭,选哪个? 
  有什么C可以实现但C++不能实现的东西吗? 

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





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