Chinaunix首页 | 论坛 | 博客
  • 博客访问: 463285
  • 博文数量: 56
  • 博客积分: 517
  • 博客等级: 下士
  • 技术积分: 751
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-12 18:16
文章分类

全部博文(56)

文章存档

2015年(2)

2014年(6)

2013年(29)

2012年(17)

2011年(2)

分类: C/C++

2011-12-30 15:44:08

c语言实现基类和继承,详见inherit.c

/*****************inherit.c*****************/
#include
#include

char *get_name(char *age)
{
return age;
}

int get_age(int age)
{
return age;
}

typedef int (*func)(int);

typedef struct 
{
char *name;
int age;
char *(*get_name)(char *);
int (*get_age)(int);
func handle;
}PERSON;

typedef struct
{
PERSON person;
char ***;
}MEN;

int main()
{
PERSON *person;
MEN *men = (MEN *)malloc(sizeof (*men));
men->person.name = "zozy";
men->person.age  = 20;
men->person.get_name = get_name;
men->person.get_age  = get_age;
men->person.handle   = get_age;
men->***  = 1;
person = (PERSON *)men;

printf("person, name:%s age:%d age:%d\n", person->get_name(person->name), person->get_age(person->age), person->handle(person->age));

free(men);
return 0;
}

阅读(4139) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~