C++:如何从外部调用父类函数

2022-05-15 00:00:00 inheritance pointers c++ virtual

我有:

class A{
    public:
        virtual void foo();
};

class B : public A{
    public:
        void foo();
};

B *ptr = new B();

我想使用‘ptr’指针直接调用A的foo()

当我尝试时

(A*)ptr->foo();

它仍然调用B版本的foo()。我如何调用A的版本?

这可能吗?还有其他选择吗?谢谢。


解决方案

当您使用::作用域解析表单命名函数时,您将调用命名的函数,就好像它不是虚拟的一样。

ptr->A::foo();

相关文章