用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) |