简单尝试:用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);
}
运行效果如下: