简单尝试:用C语言结构体中的函数指针模拟C++类中的方法

代码如下:

#include<stdio.h>

int foo(int b)
{
printf("%d\n",b);
return 1;
}

struct cla{
int a;
int (*fp)(int b);//函数指针,模拟class中的方法
};

typedef struct cla Aclass;

//typedef cla Aclass;

void main()
{
Aclass A;
int flag;
A.fp = foo;
flag = A.fp(22); //调用结构体中的方法,注意:正常情况下,C语言的结构体中不能有函数
printf("%d\n",flag);
}

运行效果如下:

posted @ 2011-11-16 16:35  ThinkOfLife  阅读(492)  评论(0编辑  收藏  举报