nah*_*hpr 9 c++ virtual inheritance pointers
我有:
class A{
public:
virtual void foo();
};
class B : public A{
public:
void foo();
};
B *ptr = new B();
Run Code Online (Sandbox Code Playgroud)
我想foo()使用'ptr'指针直接调用A.
当我尝试
(A*)ptr->foo();
Run Code Online (Sandbox Code Playgroud)
它仍然称为B的版本foo().我如何调用A的版本?
这可能吗?有哪些替代方案?谢谢.
asc*_*ler 19
当您使用::范围解析表单命名函数时,可以调用命名函数,就好像它不是虚拟的一样.
ptr->A::foo();
Run Code Online (Sandbox Code Playgroud)