我有:
class A{
public:
virtual void foo();
};
class B : public A{
public:
void foo();
};
B *ptr = new B();
我想foo()
使用'ptr'指针直接调用A。
当我尝试
(A*)ptr->foo();
它仍然调用 B 的版本foo()
。我怎么称呼A的版本呢?
这可能吗?有哪些替代方案?谢谢你。
我有:
class A{
public:
virtual void foo();
};
class B : public A{
public:
void foo();
};
B *ptr = new B();
我想foo()
使用'ptr'指针直接调用A。
当我尝试
(A*)ptr->foo();
它仍然调用 B 的版本foo()
。我怎么称呼A的版本呢?
这可能吗?有哪些替代方案?谢谢你。