在《C++编程思想》一书中对虚函数的实现机制有详细的描述,一般的编译器通过虚函数表,在编译时插入一段隐藏的代码,保存类型信息和虚函数地址,而在调用时,这段隐藏的代码可以找到和实际对象一致的虚函数实现。我们在这里提供一个C中的实现,模仿VTABLE这种机制,但一切都需要我们自己在代码中装配。之前在网上看到一篇描述C语言实现虚函数和多态的文章,谈到在基类中保存派生类的指针、在派生类中保存基类的指针来实现相互调用,保障基类、派生类在使用虚函数时的行为和C++类似
系统 2019-08-29 22:29:10 2095
在很多情况下对象之间的交互是很复杂的,在开始设计的时候,你根本不知道它需要交互的对象是谁,是什么类型。我们知道如果要对象A与对象B之间能相互交互,A与B就会构成相互依赖,如果对象一多,这种依赖就会很复杂,况且很多时候我们都不知道需要互相交互的对象有哪些,因此,在设计的时候也没办法考虑这些情况。既然在设计的时候无法预先知道对象之间的交互具体情况,我们可以将这种交互放到一个“中间平台”进行,这个中间平台知道所有对象的(依赖于所有对象,但对象是否必须依赖于平台不
系统 2019-08-29 22:14:06 2095
今天这堂培训课讲什么呢?我既不讲Spring,也不讲Hibernate,更不讲Ext,我不讲任何一个具体的技术。我们抛开任何具体的技术,来谈谈如何提高代码质量。如何提高代码质量,相信不仅是在座所有人苦恼的事情,也是所有软件项目苦恼的事情。如何提高代码质量呢,我认为我们首先要理解什么是高质量的代码。高质量代码的三要素我们评价高质量代码有三要素:可读性、可维护性、可变更性。我们的代码要一个都不能少地达到了这三要素的要求才能算高质量的代码。1.可读性强一提到可读
系统 2019-08-29 21:58:58 2095
上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面。到目前为止,我们防护的深度已经差不多,但广度还有所欠缺。例如,我们的属性钩子只考虑了setAttribute,却忽视还有类似的setAttributeNode。尽管从来不用这方法,但并不意味人家不能使用。例如,创建元素通常都是createElement,事实上createElementNS同样也可以。甚至还可以利用现成的元素cloneNode,也能达到目的。因此,这些都
系统 2019-08-12 09:30:32 2095
年初领导让做一个检索热词的干预,也就是将统计用户搜索热词的结果,人工的指定其在排行榜中的位置。当然这任务比较恶心,咱只是个出来混饭碗的民工,不出格的事儿也可以忍了说技术。工作流程是收集用户的搜索日志,统计每个keyword在一天之中被搜索的次数,根据每个keyword的统计历史,使用数学方差得出它近期热度的评分,然后降序排序给出结果列表。(如果做的更细致可以在计算前加入语义分析的部分,这样能更好的分析出刚刚流行的网络用语,我没有做那么深,这里暂时不表)现在
系统 2019-08-12 09:27:35 2095
题目是“企业资产管理系统”,考试要求用Rationalrose画用例,画类图。用powerdesigner画概念数据模型跟物理数据模型。以及用Eclipse编码用Orl10g或者MSSQLSERVER当数据库//上午我就做好了用例跟类图。关键是看需求费了好多事。午饭一完我就下楼做。。当时没到12点。一直做。。做完了PD部分跟SQL部分。正当我用EC建工程时,不小心写错了工程名。当时没写东西进去。于是我想就删了再写算了。。反正不麻烦。结果一不小时用EC直接把
系统 2019-08-12 09:27:10 2095
首先我们来了解一下什么是ActiveDirectory。不用我描述,看以下网址,或在.net自带帮助文档里根据ActiveDirectory关键字一搜,就什么都明白了。http://developer.ccidnet.com/pub/article/c322_a28703_p2.html接下来,我们来看看权限。你可以通过“网上邻居--整个网络--Directory--demain(你的域名)”你就可以看到所有关于域下的信息,粗一看就知道是怎么回事了。需要告
系统 2019-08-12 09:27:07 2095
早上试了一下,msn开始强制更新了。不更新就无法登录,简直了。Win2003下面无法正常安装。解决办法就是找到MSI版本的安装程序,可惜MS本身不提供,只好自己找了。找个装过刚更新过MSN的xp系统的电脑,浏览c:\ProgramFiles\CommonFiles\WindowsLive\.cache\目录下看看最新日期的那几个文件夹,那里面就有了。祝各位顺利更新。纳米下载:http://www.namipan.com/d/MSN_20091118_14.
系统 2019-08-12 09:26:39 2095
此篇博客为自己开始学Python语言一边学习一边记录自己所学的程序所创(一边学习一边更新)所有程序皆为使用Pycharm的Python3.0的程序HelloWrold小程序print('Hellowrold!')数字游戏importrandomprint('猜猜我现在心里想的数字是那个?')result=random.randint(0,20)whileTrue:#下面两个语句用于显示自己产生的随机数#print('生成的数字是')#print(resul
系统 2019-09-27 17:57:11 2094
前面的学习中,我们已经知道了两种python的数据类型:int和str。再强调一下对数据类型的理解,这个世界是由数据组成的,数据可能是数字(注意,别搞混了,数字和数据是有区别的),也可能是文字、或者是声音、视频等。在python中(其它高级语言也类似)把状如2,3这样的数字划分为一个类型,把状如“你好”这样的文字划分一个类型,前者是int类型,后者是str类型(这里就不说翻译的名字了,请看官熟悉用英文的名称,对日后编程大有好处,什么好处呢?谁用谁知道!)。
系统 2019-09-27 17:56:59 2094