// testFunc.cpp : 关于调用规范和函数指针
#include <iostream>
using namespace std;
class Demo
{
int x, y;
public:
Demo(int x, int y) : x(x), y(y) { }
virtual void __stdcall foo()
{
cout << "Demo::foo()" << endl;
cout << "x = " << x << " y = " << y << endl;
}
};
class SubDemo
{
public:
virtual void foo() { cout << "SubDemo::foo()" << endl; }
};
int main()
{
// 请定义Demo类的foo函数指针并调用之
// 请定义SubDemo类的foo函数指针并调用之
system("pause");
}
// 请定义Demo类的foo函数指针并调用之
void (__stdcall Demo::*pf)();
pf = &Demo::foo;
Demo d(0,0);
(d.*pf)();
// 请定义SubDemo类的foo函数指针并调用之
void (SubDemo :: *psf)();
psf = &SubDemo::foo;
SubDemo sd;
(sd.*psf)();