C语言能不能简单的实现C++的this指针解决办法

C语言能不能简单的实现C++的this指针
C++的所有类成员函数会有一个隐含的this指针作为入口参数,不知道C语言中能不能变相实现struct里的函数指针也隐含带上this指针。

比如做如下一个结构体
C/C++ code

struct A
{
     int num;
     int (*setNum)(int value);
};




能实现类似下面的功能

C/C++ code

struct A
{
     int num;
     int (*setNum)(struct A a,int value);//这里其实编译过不了的
};

int setNum(struct A a, int value)
{
    a.num = value;
}

A a;
a.setNum = setNum;
a.setNum(a,1);




即把函数指针中的第一个参数实现成一个隐含的this指针。初步想用宏定义来替换掉,但是不知道怎么做,请各位高手指点迷津。




------解决方案--------------------
就别玩这种技巧了吧。没有编译器的直接支持,怎么模拟代码恐怕都是丑陋的,使用者的负担都是沉重的。
------解决方案--------------------
不是很明白楼主意思,如果是想在C中实现:a->setNum(a, 10); 六楼写得很清楚;

但如果你想像C++一样隐藏this参数传入的事实,如a->setNum(10);,我也考虑过这个问题,但没找到合适方法;
变通方法到可以用一个函数设置当前操作对象。。。但结果上更加麻烦

------解决方案--------------------
探讨
没想好怎么弄这个。
引用:
用一个函数设置当前操作对象