Chinaunix首页 | 论坛 | 博客
  • 博客访问: 189415
  • 博文数量: 54
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-02 18:41
文章分类

全部博文(54)

文章存档

2011年(1)

2009年(30)

2008年(23)

我的朋友

分类: C/C++

2009-02-10 15:40:56

用C来实现class,都会第一反应用struct。进而很多人会提到,struct与class几乎就是一样的,除了在默认成员修饰符与默认继承方式上不同。这个观点是完全正确的,但是忘了它是基于C++的。C++中对struct做了升级,使其与class几近一致,但在C中,struct还是原来那个结构体。
 
这里用C中的struct来简单模拟下class,只是很简单的模拟出类的结构,至于继承,还有访问修饰等高级问题,还望赐教。
 

#include<stdio.h>

struct DemoClass
{
    char *name;
    int age;
    void ( *printAge )( struct DemoClass man );
    void ( *funcNull )();
};

void DemoPrintAge( struct DemoClass man )
{
    printf("%s's age is %d.\n", man.name, man.age);
}

void DemoFuncNull()
{
    printf("funcNull execute!\n");
}

void main()
{
    struct DemoClass man = {"kobe", 29, DemoPrintAge, DemoFuncNull};
    man.funcNull();
    man.printAge(man);
}

阅读(5860) | 评论(0) | 转发(0) |
0

上一篇:C++中的内存分布

下一篇:Linux 重要目录

给主人留下些什么吧!~~