用C进行面向对象编程 (用C模拟继承,多态)
来源:互联网 发布:北京和隆优化待遇 编辑:程序博客网 时间:2024/06/05 11:20
最近在开发浏览器,编程语言是C。由于DOM明显是有层次结构,如:
node <---------------textNode
/|/
|
|
elment
用面向过程的C来开发,有点吃力。所以决定牺牲部分性能,用C模拟面向对象的开发,使程序的结构更加清晰一点。
要考虑到问题:
1. 如何定义一个类 (包括考虑继承性的问题,如何定义接口,如何定义成员)
2. 对象的创建与销毁 (构造函数,析构函数)
3. 多态 (定义虚接口)
花了一天实现了几个相对比较简单的接口,但是对我们的项目组而已,已经足够。
下面的demo
1. 定义图形类
2.定义圆类,继承 图形类
3.
执行完打印出
构造函数被调用 argN :2
参数值: 1000 21
this is circle 20 20
this is graphic 400 800
子类成员 10
父类成员 20
析构函数被调用 DCCircle
总结:
1. 实现了接口的多态
2.实现了数据,接口的继承
3.只能定义堆上的对象,不能定义栈上对象
实现:
头文件 simCpp.h
源文件 simCpp.c
辅助文件 stringKit.h
- 用C进行面向对象编程 (用C模拟继承,多态)
- 用C语言模拟面向对象编程
- 用C语言进行面向对象编程
- 用C语言进行面向对象编程
- 用C语言进行面向对象编程
- 用C语言模拟面向对象编程(转)
- 用C语言模拟面向对象编程(上)
- 用C语言模拟面向对象编程(上)
- 用C实现面向对象之继承
- 用C语言模拟面向对象
- 用C语言模拟面向对象
- 用C语言模拟面向对象
- 用C语言实现面向对象编程
- 用 C 语言实现面向对象编程
- 用 C 语言实现面向对象编程
- 用c语言进行“面向对象编程”------学习doubango源码心得------阿冬专栏!!!
- Redis 源码分析 (一)Redis竟然用 C 语言进行面向对象编程
- 【C#】面向对象之继承
- 找不到女朋友,以下这些你可以参考。
- 简述缺陷处理工作流
- 从asm_out_file看gcc汇编代码的生成
- c#数据类型转换
- tomcat https 配置过程
- 用C进行面向对象编程 (用C模拟继承,多态)
- 使用Dynamic LINQ实现Ext Grid的远程排序
- 集成 Windows 本地应用到 Eclipse RCP 程序中
- Java 小例子:老手如何编写计算器
- 电脑族最佳健康菜单
- Java编程那些事儿88——文件操作之写文件
- 赤壁之战的Google Map
- 使用ajax,javascript中调用后台的方法
- 高质量C++/C编程指南学习笔记(上)