自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 在C语言里进行面向对象设计--模拟运行时识别

    面向对象的另一个特性是运行时识别。当然,如果你的系统设计的足够完美的话,也用不到什么运行时识别,但是有时使用一下运行是识别,能够是设计简化不少。言归正传,本文就是在前文的基础上再研究一下,如何使用C来进行运行时识别。 我们知道,C++里的虚函数实际上不是与对象绑定,而是与类绑定的。也就是说,一个类一个虚函数表,而不是一个对象一

2009-08-21 13:25:00 487

原创 在C语言里进行面向对象设计--模拟多态

  Normal 0 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font Defin

2008-12-26 14:59:00 1651 1

原创 MFC的派生类多根继承时,为什么必须将MFC类作为第一父类

今天想起一个问题,C++中,如果要实现接口的话,必须使用多重继承机制。MFC中,假如我们有一个类,既需要从MFC窗口类派生,又需要实现我们程序内部的一个接口,例如下面的代码。class MyBaseClass{public:   virtual ~MyBaseClass(){} }class MyDialog : public MyBaseClass, public CDialog{   ...}

2008-11-24 20:22:00 2105

原创 用脚本语言扩展程序功能

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 0 2 false

2008-11-20 19:39:00 4433

原创 让程序支持脚本

Normal 0 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font Definitio

2008-11-20 19:36:00 1475

原创 面向对象设计的一点感想

面向对象是一种思想,唉~~,我也开始喊口号了。 我们设计的时候强调模块间的高内聚低耦合,面向对象设计就是应对这个问题而生的,细细想来,这个才应该是我们思考问题的正道。 其实面向对象无处不在,例如我们开发C程序中,经常会碰到这样的问题:根据type的不同值,做一些相似的处理。 一种做法是使用switch...case/if..else..语句,另一种方法是使用一个数组将case中的处理所

2008-07-01 10:42:00 866

原创 可编程的log—初识lua的强大

  可编程的log—初识lua的强大作者: 马楠   论文摘要n         本文介绍了使用lua实现的一组可用于实现log功能的接口。在源代码中,它与普通的Log语句相同(在固定的地方写上固定的log语句),但是,它的最终功能是通过lua脚本来实现的。通过lua脚本,我们可以得到如下好处:①     log内容的可定制性。无需修改源代码中的log语句,即可定制不同的log

2008-05-27 14:41:00 6370 2

原创 数据结构学习

本文以MFC中对应的类为例,学习几种数据结构1. 数组--CArray   访问方法及效率和普通的数组一样,比普通数组强大的功能是可以改变数组的大小。   特点:通过索引(数组下标)访问的速度很快,但是插入删除操作很慢,因为插入删除操作时,是需要移动元素的。   访问方法:通过索引访问,普通的数组怎么用,它就可以怎么用。2. 双链表--CList      特点:插入删除很快。但是通过索引访问

2007-09-27 13:06:00 904

原创 语言优劣——为何要争?

     这两天打开CSDN,发现又开始了C和C++的口水战。我是一个菜鸟,但是我不明白的是,这到底有什么可争的?     最近刚刚完成一个项目,客户要求用C的,因为他们要求效率!没有办法,只要拿着C进行OOP设计,不是不能,而是不便。很多情况下,OO的概念只能规定到文档里,程序的框架里是在是很难规定。设计时,想着C++多好!项目完成后,一测效率,完全满足客户需求!这时的想法便是:C语言效率真

2007-09-11 12:29:00 481

原创 C++内存使用小结

        由于这两年一直在做C和C++项目,感到在设计时,虽然 非常的小心在意内存管理问题,但是最终最大的问题还是出在内存管理上。所以研究了一段时间。       经过学习,发现现在有两种方法解决内存管理问题: 引用计数。例如COM技术。采用这种技术目的是为了能够安全的访问对象,即:只要有一个用户还在使用该对象,该对象就不会删除。 内存池。这个技术主要目的是解决内

2007-05-25 23:12:00 851

原创 C/C++内存管理解决方法

        工作两年来发现公司所有的C/C++项目在进行系统设计的时候,仍然将内存管理的设计放到很低的一个层次上:那个模块分配内存、那个模块释放内存、什么时候释放……。但是这样做效果并不好,最终仍然是深深的陷入到内存维护的泥潭之中。       从网上查了一下有关C/C++内存管理方面的知识,总结得到解决方案,但是还没有实践,不知是否可行。       C++的内存管理方法:我的解决方

2007-05-22 08:30:00 908

原创 利用Windows消息循环实现消息延迟和消息合并

解决这个问题也费了一番周折。最初的解决方法是为计算消息设定时间间隔:当一个计算消息到达时,开始计时,在一定时间间隔内,接受到的计算消息一概不处理。由于时间间隔没法给定,也没法进行预算。时间间隔设置长了,如果两次操作过快,就会漏算;设置时间短了,又无法解决计算此数过多的问题。所以这个解决方法只能算是延缓了问题,而不能算是解决问题。后来,不知道什么时候灵机一动,想到了下面的方法,完美的解决了问

2006-12-22 14:39:00 987

转载 数据库设计经验谈

 数据库设计经验谈一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲

2006-12-13 08:15:00 717

转载 插件系统·系统集成方案

  插件系统·系统集成方案 一切都是为了更加简单。从函数到函数库,然后到类,然后到插件,都是因为我们的软件系统日益复杂,人脑毕竟有限,不能同时处理那么多的信息量,所以采用分而治之的方法来管理。今年已经研究了一年的插件系统,从最开始的懵懵懂懂到现在能有些经验和大家分享,这个过程本身就是很有意思的。最开始系统中有了十几个插件,经过几个月的慢慢发展,到了大几十个,甚至上百个,这个数量

2006-11-21 12:50:00 1069

asp.net深入编程中文教程

asp.net深入编程中文教程.这是一个还可以的ASP.net的教程,讲的比较基础

2008-12-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除