谈函数指针(全局/类成员函数)和函数对象2010-11-24 cppblog 函数指针(全局函数/类成员函数)、函数对象(Function object)一. 函数指针类型为全局函数.
#include "stdafx.h"
#include <iostream>
using namespace std;
class TestAction;
typedef void (*fp)(int);
void Drink(int i)
{
cout<<"No. "<<i<<" drink..."<<endl;
}
void Eat(int i)
{
cout<<"No. "<<i<<" eat..."<<endl;
}
class TestAction
{
public:
fp testAct;
void TestAct(int i)
{
if (testAct != NULL)
{
testAct(i);
}
}
};
int main(int argc, char* argv[])
{
TestAction doact;
doact.testAct = &Drink;
doact.TestAct(0);
doact.TestAct(1);
doact.TestAct(2);
doact.testAct = &Eat;
doact.TestAct(0);
doact.TestAct(1);
doact.TestAct(2);
return 0;
}