gpt4 book ai didi

c++ - 如何防止基类指针下的派生类对象调用基类中定义但在派生中被覆盖的公共(public)非虚函数?

转载 作者:行者123 更新时间:2023-11-28 05:31:22 24 4
gpt4 key购买 nike

假设基类 B 有一个非虚公共(public)函数 f() ,不幸的是它被派生类 D 覆盖了。

然后有一个D对象d传递给了一个B指针pB

有没有办法阻止调用pB->f()

最佳答案

如果你可以改变B,你可以将f变成虚拟的,或者将它转发到一个虚拟保护的do_f,或者其他各种东西。

如果你不能改变 B,你就不能阻止它的公共(public)方法被调用,你也不能以某种方式拦截对非虚拟基类方法的调用。

关于c++ - 如何防止基类指针下的派生类对象调用基类中定义但在派生中被覆盖的公共(public)非虚函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39441214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com