typedef struct Person Person;
typedef void (*Method)(Person *my_self);
typedef struct Person {
char name[12];
int age;
int sex;
Method behavior1; // 行为1
} Person;
void selfIntroducation(Person *my_self) {
printf("my name is %s,age %d,sex %d\n",my_self->name,my_self->age,my_self->sex);
}
int main(int argc, const char * argv[]) {
// 1
Person *pmst = (Person *)malloc(sizeof(Person));
// 1.1
strcpy(pmst->name, "pmst");
pmst->age = 18;
pmst->sex = 0;
// 2
pmst->behavior1 = selfIntroducation;
// 3
pmst->behavior1(pmst);
free(pmst);
return 0;
}