我有引用ref
:
Foo &ref = ..
我想调用一个方法 ref.say()
,它在 Foo
中被定义为虚拟的,我确信它在子类中被覆盖了(因为我也写了它们)。
但是我想调用 say
就好像它不是不是 多态的,所以版本是在 Foo 中定义的,而不是在子类中定义的。
怎么做?
我想到的一件事是采用 ref
的指针,而不是取消引用它,这个技巧应该会杀死多态性,但我不确定这是否能保证达到预期的效果。
请注意,我没有坐在 Foo 或其任何子节点中,Foo 树是我当前 POV 的外部结构。
最佳答案
怎么样
ref.Foo::say();
这就是你要找的?
关于c++ - 如何在没有多态效果的情况下调用虚方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24509994/