c中struct 向 cpp class的转变
#include<stdio.h>
#define Class(s) Class s = constructor();
struct clsStruct
{
int value;
void (*setValue)(struct clsStruct *, int);
int (*toValue)(struct clsStruct *);
};
typedef struct clsStruct Class;
void setValue(Class *s, int v)
{
s->value = v;
}
int toValue(Class *s)
{
return (s->value);
}
Class constructor()
{
Class s;
s.setValue = setValue;
s.toValue = toValue;
return s;
}
int main()
{
//Class s = constructor();
Class(s);
s.setValue(&s, 100);
printf("%d", s.toValue(&s));
return 1;
}