6305|14

87

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

用C语言设计面向对象的程序探讨---嵌入式设计必须的 [复制链接]

大家都来参与一下啊

这段时间一直用C编程,看到过一款平台的SDK用C的面向对象方法实现,很棒。

我在这方面还是个新手,只有一些基本的感性认识,所以大家都来说说,谈谈自己C实现面向对象的思路,有案例结合分析更好。

说到C的面向对象,肯定要提的是一个结构体,struct
这就好比C++中的class
比如在C中定义一个对象类型.

typedef struct ___PLAY_CON
{
      //data
      PTYPE_LIST  pList[LIST_NUM];
      U32  CurListIndex;
      U32  CurSongIndex;

      //method
      FUNC_TYPE (*XXX_Init)(void);  //我理解为C++中的构造函数
      FUNC_TYPE (*XXX_Uninit)(void); //我理解为C++中的析构函数

      FUNC_TYPE (*Play_next_song)(para...);
      FUNC_TYPE (*Play_prev_song)(para...);
      FUNC_TYPE (*Play_next_list)(para...);
      FUNC_TYPE (*Pause)(para...);        
} TYPE_PLAY_CON, *PTYPE_PLAY_CON;
能不能这样说,
这相当于设计一个播放管理类,它包含的数据和方法如上所示

以上纯属个人愚见啦,抛砖引玉了,嘿嘿。希望感兴趣的朋友们参与哈
此帖出自编程基础论坛

最新回复

我是个菜鸟  给大家分享些视频希望对大家有帮助 十问嵌入式   编程语言选择  http://www.uplooking.com/video/play/5803/   操作系统的选择  http://www.uplooking.com/video/play/5802/   汇编语言的作用  http://www.uplooking.com/video/play/5801/   ARM与单片机  http://www.uplooking.com/video/play/5800/   ARM概述 开发板  http://www.uplooking.com/video/play/5799/   ARM概述  http://www.uplooking.com/video/play/5798/   嵌入式学习  http://www.uplooking.com/video/play/5797/   嵌入式实例iphone  http://www.uplooking.com/video/play/5796/   什么是嵌入式  http://www.uplooking.com/video/play/5795/   嵌入式漫谈2  http://www.uplooking.com/video/play/5794/   嵌入式漫谈1 http://www.uplooking.com/video/play/5793/   嵌入式前景http://www.uplooking.com/video/play/5624/ 嵌入式最佳入门教程 Linux系统移植 仿真器 ICE等1 http://www.uplooking.com/video/play/6071/ Linux系统移植 仿真器 ICE等2 http://www.uplooking.com/video/play/6070/ AC97声卡裸板驱动开发1 http://www.uplooking.com/video/play/6069/ AC97声卡裸板驱动开发2  http://www.uplooking.com/video/play/6068/ 计算机原理 处理器及汇编演示1 http://www.uplooking.com/video/play/6067/ 计算机原理 处理器及汇编演示2 http://www.uplooking.com/video/play/6066/ 计算机原理 处理器及汇编演示3http://www.uplooking.com/video/play/5245/ 嵌入式处理器结构总线种类及嵌入式开发板1 http://www.uplooking.com/video/play/6065/ 嵌入式处理器结构总线种类及嵌入式开发板2 http://www.uplooking.com/video/play/6064/ 汇编语言 C语言演示 交叉编译 及内存管理1 http://www.uplooking.com/video/play/6063/ 汇编语言 C语言演示 交叉编译 及内存管理2 http://www.uplooking.com/video/play/6062/ 汇编语言 C语言演示 交叉编译 及内存管理3 http://www.uplooking.com/video/play/6061/ 走近嵌入式 嵌入式产品开发过程 http://www.uplooking.com/video/play/6060/ 嵌入式处理器种类 http://www.uplooking.com/video/play/6059/ 嵌入式开发学习基础 http://www.uplooking.com/video/play/6058/ 嵌入式开发概念及嵌入式行业职业划分1 http://www.uplooking.com/video/play/6057/ 嵌入式开发概念及嵌入式行业职业划分2 http://www.uplooking.com/video/play/6056/ 嵌入式开发概念及嵌入式行业职业划分3 http://www.uplooking.com/video/play/6055/ 嵌入式处理器DataSheet及开发板结构1 http://www.uplooking.com/video/play/6054/ 嵌入式处理器DataSheet及开发板结构2 http://www.uplooking.com/video/play/6053/  详情 回复 发表于 2010-1-18 15:05
点赞 关注
 

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己先顶顶
此帖出自编程基础论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
在顶顶
此帖出自编程基础论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

4
 
这个分情况吧
很多时候这种技巧可以是程序的扩展和修改方便灵活很多
此帖出自编程基础论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

5
 
帮顶。
此帖出自编程基础论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 3 楼 arnold9009 的回复:
这个分情况吧
很多时候这种技巧可以是程序的扩展和修改方便灵活很多


是的,当程序很庞大,而且很多模块需要接口来通信的时候,使用这种方式很好。。

继续参与啊。。。高手来参与,来参与

一个系统的代码打开一看,如果是一个面向对象的设计,脉络清晰,那将多么幸福!!!
此帖出自编程基础论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

7
 
。。。。
此帖出自编程基础论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

8
 
最通用的方法

已经应用了很多年了
此帖出自编程基础论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

9
 
大些的程序采用这类方法的多
比如说操作系统的驱动程序框架,基本上是采用C实现面向对象的方式,把用户编写的驱动程序代码统一到一个驱动程序框架中来的
此帖出自编程基础论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(中级)

10
 
是最基础的面向对象实现方法
此帖出自编程基础论坛
 
 
 

回复

47

帖子

0

TA的资源

一粒金砂(初级)

11
 
其实C语言实现面向对象肯定是可行的,因为C++其实就是一个C语言的项目。不过这种方式只能说是类似实现了面向对象的封装的概念。
此帖出自编程基础论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

12
 
用结构体只是实现了面向对像的封装,方便应用层管理
此帖出自编程基础论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

13
 
那用C语言识别面向对象的技术,还有什么更高级的应用吗?有个小例子说明就更好啦
此帖出自编程基础论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

14
 
这是一个没有模板、虚机制的c++
此帖出自编程基础论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

15
 
我是个菜鸟  给大家分享些视频希望对大家有帮助
十问嵌入式

  编程语言选择  http://www.uplooking.com/video/play/5803/
  操作系统的选择  http://www.uplooking.com/video/play/5802/
  汇编语言的作用  http://www.uplooking.com/video/play/5801/
  ARM与单片机  http://www.uplooking.com/video/play/5800/
  ARM概述 开发板  http://www.uplooking.com/video/play/5799/
  ARM概述  http://www.uplooking.com/video/play/5798/
  嵌入式学习  http://www.uplooking.com/video/play/5797/
  嵌入式实例iphone  http://www.uplooking.com/video/play/5796/
  什么是嵌入式  http://www.uplooking.com/video/play/5795/
  嵌入式漫谈2  http://www.uplooking.com/video/play/5794/
  嵌入式漫谈1 http://www.uplooking.com/video/play/5793/
  嵌入式前景http://www.uplooking.com/video/play/5624/


嵌入式最佳入门教程

Linux系统移植 仿真器 ICE等1 http://www.uplooking.com/video/play/6071/
Linux系统移植 仿真器 ICE等2 http://www.uplooking.com/video/play/6070/
AC97声卡裸板驱动开发1 http://www.uplooking.com/video/play/6069/
AC97声卡裸板驱动开发2  http://www.uplooking.com/video/play/6068/
计算机原理 处理器及汇编演示1 http://www.uplooking.com/video/play/6067/
计算机原理 处理器及汇编演示2 http://www.uplooking.com/video/play/6066/
计算机原理 处理器及汇编演示3http://www.uplooking.com/video/play/5245/
嵌入式处理器结构总线种类及嵌入式开发板1 http://www.uplooking.com/video/play/6065/
嵌入式处理器结构总线种类及嵌入式开发板2 http://www.uplooking.com/video/play/6064/
汇编语言 C语言演示 交叉编译 及内存管理1 http://www.uplooking.com/video/play/6063/
汇编语言 C语言演示 交叉编译 及内存管理2 http://www.uplooking.com/video/play/6062/
汇编语言 C语言演示 交叉编译 及内存管理3 http://www.uplooking.com/video/play/6061/
走近嵌入式 嵌入式产品开发过程 http://www.uplooking.com/video/play/6060/
嵌入式处理器种类 http://www.uplooking.com/video/play/6059/
嵌入式开发学习基础 http://www.uplooking.com/video/play/6058/
嵌入式开发概念及嵌入式行业职业划分1 http://www.uplooking.com/video/play/6057/
嵌入式开发概念及嵌入式行业职业划分2 http://www.uplooking.com/video/play/6056/
嵌入式开发概念及嵌入式行业职业划分3 http://www.uplooking.com/video/play/6055/
嵌入式处理器DataSheet及开发板结构1 http://www.uplooking.com/video/play/6054/
嵌入式处理器DataSheet及开发板结构2 http://www.uplooking.com/video/play/6053/
此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表