重新分配虚拟功能是合法的

Dar*_*bik 3 c++ virtual inheritance function-pointers

假设我有一个这样的类:

struct A{
  virtual void someFunc() { }
};
Run Code Online (Sandbox Code Playgroud)

是否可以将虚函数重新分配给另一个函数....这可能是可能的,因为它基本上将一个函数指针存储在类中,以便它可以virtual.

我意识到这样的事情:

void aRandomFunc();
A mya;
mya.someFunc = &aRandomFunc;
Run Code Online (Sandbox Code Playgroud)

可能是不可能的,因为成员函数将this指针作为隐式参数.

但是有可能将成员函数重新分配给另一个成员函数吗?

Bri*_*ian 10

不,在任何情况下都不能重新分配功能.

但是,您可以重新分配函数指针,但这是否有用取决于您实际尝试的操作.https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem