本文由 @lonelyrains 出品,转载请注明出处。
文章链接: http://blog.csdn.net/lonelyrains/article/details/45246427
#include <iostream>
using namespace std;
class A
{
public:
static void Print(void *pA, const char *str)
{
A *pa = reinterpret_cast<A*>(pA);
pa->pPrint(str);
}
virtual void pPrint(const char *str)
{
cout << str <<endl;
}
};
class B : public A
{
public:
virtual void pPrint(const char *str)
{
cout << str << str <<endl;
}
};
void main()
{
A *a = new B;
a->Print(a,"http://blog.csdn.net/lonelyrains");
A::Print(a,"http://blog.csdn.net/lonelyrains");
}