gpt4 book ai didi

c++ - 是否有可能获得指向纯虚函数定义的指针?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:36 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Calling base class definition of virtual member function with function pointer

给定以下层次结构:

struct Base
{
virtual void f() = 0;
};

void Base::f()
{
cout << "Base::f\n";
}

struct Derived : Base
{
void f()
{
cout << "Derived::f\n";
}
};

我们可以像这样强制调用 Base::f:

Derived d;

d.Base::f();

或:

Base * b = &d;

b->Base::f();

没有惊喜。但是有没有可能得到一个可以调用Base::f的成员函数指针呢?

void (Base::*bf)() = &Base::f;

for_each( b, b+1, mem_fn( bf ) ); // calls Derived::f

(郑重声明,我实际上不需要这样做。我只是好奇。)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com