【发布时间】:2015-05-12 16:20:57
【问题描述】:
考虑下面的代码
class BASE
{
public:
virtual void test_f(){std::cout<<"BASE::test_f\n";}
};
class DERIVED:public BASE
{
public:
virtual void test_f(){std::cout<<"DERIVED::test_f\n";}
};
void (BASE::*p_base)() = &BASE::test_f;
p_base 是指向类成员函数的指针,但它是多态的。 这意味着
DERIVED a;
(a.*p_base)();
将打印 DERIVED::test_f
如何获取指向基类的 test_f 的指针以进行 NON 多态调用?
【问题讨论】:
-
你为什么要创建一个指向多态函数的指针?对我来说没有太大意义。
-
是的,我知道。我只是好奇这些事情是如何运作的。
标签: c++ pointers pointer-to-member