C++中的子对象方法数组

yuvru6vn  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(84)

假设我有一个基类A和两个派生类B和C,我想创建一个由B和C的虚成员组成的函数指针数组,并执行它们。
我该怎么做?
我真的想更进一步,甚至不让对象共享父类,但我认为这更容易。

oo7oh9g9

oo7oh9g91#

如果你有class A { virtual void f() = 0; };
以及从A派生的类B和C,那么你可以

using memfuncptr = void(A::*)();
memfuncptr memfuncs[] {&B::f};
A a;
a.*(memfuncs[0]);

字符串
这就要求所有成员函数都是A的成员。

相关问题