2008年02月05日
我们在使用C++的开发工作中,经常会编写许许多多的类,当然也会编写大量的成员函数。但是对于如何设计类的结构,如何确定类的成员,这将会是一个艰难的抉择过程。在编写C++类的过程中,我们都希望是我们的成员函数集合最小化,但是常常很难做到这一点。本文就来详细的讨论一下这个问题!阅读全文>
发表于 @ 2008年02月05日 12:51:00|评论(loading...)|编辑
2007年10月23日
从前面的代码还可以看出,应用any的过程中还是有比较大的限制。例如当多个重载函数的第一个参数类型相同的时候,虽然后续的参数类型不同,是合法的C++重载函数,但是 any就不知道该转型为那一个,从而产生了编译错误:)本文就给出了几种解决这种难题的方法:)阅读全文>
发表于 @ 2007年10月23日 21:58:00|评论(loading...)|编辑
在上一篇文档中提到了分析函数参数数量的方法,现在就来解决更深层次的问题:这些数量的函数参数具体是什么类型的?本文就给出了一个比较统一的方法实现了采用C++模板语言分析出类域中的某个函数的参数具体是什么!阅读全文>
发表于 @ 2007年10月23日 21:55:00|评论(loading...)|编辑
在分析C++代码的时候,特别是分析C++函数(仿函数)的时候,若是能够分析出在一个名字空间(类域)里面的指定函数名称的函数的参数的数量将会是非常有用的:)这一章就对这个问题进行详细的分析。阅读全文>
发表于 @ 2007年10月23日 21:52:00|评论(loading...)|编辑
本文采用C++语言自身的模板语言实现了分析C++类结构的功能。C++类结构的内容包括:
1.类是否拥有指定参数的成员函数
2.类是否存在指定名称的成员函数
3.类是否存在指定名称的成员变量
4.类是否存在指定名称的子类(型)
阅读全文>
发表于 @ 2007年10月23日 21:49:00|评论(loading...)|编辑
本文介绍了采用C++的模板技术,可以实现C++语言自己分析自己的类层次结构:)可以分析出某个类的基类是什么,是不是很神奇啊;)阅读全文>
发表于 @ 2007年10月23日 21:45:00|评论(loading...)|编辑
介绍通过C++中的模板,可以表达为一种计算机语言的原理:)拥有整数加减乘除四则运算,选择结构和循环结构:)具备有通用编程语言具备的基本结构,从而构成了语言结构,本文只是解释前述结构的实现方式;)阅读全文>
发表于 @ 2007年10月23日 21:42:00|评论(loading...)|编辑
2007年10月11日
有了前面的这些基础性的代码之后,我们就可以处理大量的撤销和重做操作了:)但是通常的情况下,我们还是希望能够往command里面添加一些额外的信息。例如:为了在图形用户界面应用程序里面显示还可以撤销的命令队列列表以及可以重做的命令列表,这两种情况下都需要给每一个命令添加一个额外的名称信息,所以我们将前面的command代码修改为下面的basic_command代码:阅读全文>
发表于 @ 2007年10月11日 21:26:00|评论(loading...)|编辑
目前为止,已经成功的将三个基本操作封装为三个基本命令,同时也将一个复合操作封装成了一个复合命令,另外也给出了简单的使用代码;从代码中可以看出,撤销和重做的过程还是比较晦涩,用户为了表达撤销和重做的过程还需要编写很多的额外代码,而且这种代码也没有很直接的表达撤销和重做的思想。阅读全文>
发表于 @ 2007年10月11日 21:23:00|评论(loading...)|编辑
虽然有了上面的命令基类、复合操作类就可以实现\ *任意*\ 的撤销和重做功能的程序了,但是很明显,还需要编写大量的派生自命令基类的\ *各种各样*\ 的操作类。那么有没有办法减轻或者消除这种负担呢?阅读全文>
发表于 @ 2007年10月11日 21:21:00|评论(loading...)|编辑