C语言模拟C++类
来源:互联网 发布:立领衬衫 知乎 编辑:程序博客网 时间:2024/06/09 19:30
#include <stdlib.h>#include <stdio.h>#include <string.h>struct class{ int value; struct class *p_next; void (*init) (struct class *this); void (*destroy)(struct class *this); void (*set_value)(struct class *this, int value); int (*get_value)(struct class *this);};struct class * create_instance();void destroy_instance(struct class *p_instance);/******** * 定义 * ********/void init(struct class *this){ this->value = 0; this->p_next = NULL;}void destroy(struct class *this){ // TODO 释放内部成员}void set_value(struct class *this, int value){ this->value = value;}int get_value(struct class *this){ return this->value;}struct class * create_instance(){ struct class *p_instance = (struct class *)malloc(sizeof(struct class)); memset(p_instance, 0, sizeof(struct class)); p_instance->init = init; p_instance->destroy = destroy; p_instance->set_value = set_value; p_instance->get_value = get_value; p_instance->init(p_instance); return p_instance;}void destroy_instance(struct class *p_instance){ p_instance->destroy(p_instance); free(p_instance);}int main(){ struct class *p_instance = create_instance(); //p_instance->set_value(p_instance, 5); printf("%d\n", p_instance->get_value(p_instance)); destroy_instance(p_instance); return 0;}
0 0
- C语言中的类模拟
- C语言中的类模拟
- C语言模拟C++类
- C语言中的类模拟
- C语言模拟C++list
- c语言,电梯模拟
- c语言模拟时钟
- C语言模拟示波器
- C语言模拟IIC
- C语言模拟按键
- C语言模拟栈
- 【C语言】 模拟计算器
- C语言模拟海战
- 模拟ATM(C语言)
- c语言模拟停车场
- C语言模拟类和pack例子
- 用C语言模拟下雨
- C语言 离散事件模拟
- bootstrap警示框
- queue非线程安全及多线程解决办法
- 希尔排序算法
- 路径通配符含义
- 2015软件测试开发工作总结
- C语言模拟C++类
- web调试工具-Fiddler断点设置(二)
- android 6.0指纹模块学习 1
- 【学习】IXP:Internet Exchange Point
- Java 网络编程(二) 两类传输协议:TCP UDP
- JMeter 数据库压力测试(一)
- vm下 open suse 10 解决vi编辑器不能是使用退格键
- C语言system命令
- 测量控件的高度