Name: Anonymous 2010-06-15 11:30
Consider:
foo.h:
foo.c:
Is there anything wrong with this? I'm dubious about the lines commented with ???. I don't want to write getters and setters for the 'public' stuff.
foo.h:
struct Foo {
int public_1;
int public_2;
}
struct Foo * create_Foo ();
void bar_Foo (struct Foo*);
/* etc */foo.c:
#include "foo.h"
struct Foo_private {
struct Foo foo; /* ??? */
int private_1;
int private_2;
}
struct Foo * create_Foo (void) {
return malloc (sizeof(Foo_private));
}
void bar_Foo (struct Foo *foo) {
Foo_private *foo_p = (Foo_private*) foo; /* ??? */
/* do whatever with foo_p->private_1 and foo_p->private_2 */
}Is there anything wrong with this? I'm dubious about the lines commented with ???. I don't want to write getters and setters for the 'public' stuff.