Welcome

首页 / 软件开发 / C++ / 谈函数指针(全局/类成员函数)和函数对象

谈函数指针(全局/类成员函数)和函数对象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;
}