我可以使用像这样的方法doSomething;首先将指向A类的指针赋给b的void *成员?这是使用void *成员指针的正确方法吗?
class A
{
public:
A(int);
int m_x;
int doSomething(){};
};
class B
{
public:
void* m_y;
};
#include "x.h"
using namespace std;
A::A(int x)
{
m_x = x;
}
int main()
{
//create 2 pointers to A and B
B *b;
A *a;
b = new B();
a = new A(15);
b->m_y = a;
((A*)b->m_y)->doSomething();
delete a;
delete b;
return 0;
}
也许你可以,但为什么你应该扔掉打字并强迫自己投掷*无处不在*,基本上在你使用它的地方打开未定义行为的可能性? – delnan